android - 条件计算
问题描述
我的代码将输入数字乘以 2 并显示结果。
public class MainActivity extends AppCompatActivity {
EditText et1;
Button calc;
String val;
TextView r1;
int res;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1 = (EditText) findViewById(R.id.et1);
calc = (Button) findViewById(R.id.calc);
r1 = (TextView) findViewById(R.id.t1);
calc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String val=et1.getText().toString();
res=Integer.parseInt(val)*2;
r1.setText(Integer.toString(res));
}
});}}
如果数字超过 100,我希望数字乘以 1.5。我无法实现 if,else if。是我使用的字符串有问题。我怎么能做到这一点?
解决方案
你可以试试这个:
public void onClick(View view) {
String val=et1.getText().toString();
float num1 = Float.parseFloat(val);
if(num1 > 100){
res = num1 * 1.5f;
}else{
res = num1 * 2f;
}
r1.setText(Float.toString(res));
}
});}}
如果您假装乘以 1.5 的倍数并保留小数位,您还需要将 res 声明更改为浮动。否则用 int 替换我输入的浮点数
推荐阅读
- html - 如何阻止谷歌博客 HTML 编辑器将单引号转换为 '
- c++ - 内置函数以查看 CPP 中的成员变量
- python - Python,Pandas Dataframe - 如何添加 API 生成的最大列数?
- python - 根据起始索引和相应长度列表删除矩阵列的最有效方法
- javascript - 需要 JavaScript(所有页面的背景和声音更改)帮助
- python - Pandas 包含 json 文件的密钥
- c++ - 是否可以初始化不可复制类型的成员变量(或基类)?
- ignite - 无法使用 DataStorageConfiguration 在锁或事务中启动/停止缓存
- electron - electron:如何在 BrowserWindow 中打开 chrome://inspect 特殊 url 来调试 SharedWorkers
- reactjs - 如何包含响应式上下文以使我的布局在移动设备上响应?