java - 数学运算出错
问题描述
我在 android studio 中制作简单的计算器,当尝试添加数字时,它们中的大多数都可以正常工作,除了例如 5.6 + 4.8 = 10.399999 出于某种原因我尝试了很多数字,但似乎只有很少的数字能以这种奇怪的方式工作.. 任何想法有什么问题?这是代码的方程式部分:
btn5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!isPressedAdd && !isPressedDiv && !isPressedSub && !isPressedX) {
if(!isPressedComa && str1.equals("0")) {
textViewNumber.setText("5");
str1 = "5";
} else {
textViewNumber.setText(str1 += 5);
}
} else {
if(!isPressedComa && str2.equals("0")) {
textViewNumber.setText("5");
str2 = "5";
} else {
textViewNumber.setText(str2 += 5);
}
}
}
});
btnEq.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double sum1 = Double.parseDouble(str1);
double sum2 = Double.parseDouble(str2);
double sumDouble = 0.0;
String sum;
if(isPressedAdd) {
sumDouble = sum1 + sum2;
if((sumDouble % 1) == 0) {
sum = String.valueOf((int) sumDouble);
} else {
sum = String.valueOf(sumDouble);
}
textViewNumber.setText(sum);
isPressedAdd = false;
str1 = "0";
str2 = "0";
}
});
所有按钮代码看起来都像第 5 个,只是让您知道我是如何放置它的,但是尝试了 2 天的所有内容现在无法弄清楚:(
解决方案
推荐阅读
- python - 使用pip命令不起作用,pip找不到python
- php - 使用打开模式的按钮创建光滑的滑块
- git - git push 后总是从命令行链接到 GitHub 拉取请求?
- scala - 将元组转换为具有默认值的案例类
- javascript - HTML 包含使用 ajax - 如何访问包含的文件元素?
- reporting-services - SSRS 表达式中的 LAST WHERE 子句
- php - 更改 WooCommerce 订单中管理员帐单地址字段的顺序
- java - 如何检测一加和小米设备和其他中文rom的andorid 9及更高版本中的BOOT_COMPLETED(api级别28+)
- string - 使用 PL/SQL 将字符串拆分为一行或多行
- postgresql - Postgres CROSSTAB 双轴旋转