以下是检查数字是整数还是十进制数的Java代码,并相应地显示结果:
if (result % 1 == 0) {
String finalResultString = String.format("%.0f", result);
} else {
BigDecimal decimalResult = new BigDecimal(result);
String resultString = String.format("%.15f", decimalResult);
}
但是在小数部分:
1)如果我跑66%6,我得到3.960000000000000,但我希望答案只有3.96。所以我不希望显示不必要的零。
2)如果我运行99 x 65.00055,我希望答案是小数点后的15位数,如6435.054450000000543
所以问题是 - 我不希望零取决于前导数字。如果结果是5.645345600000000或3.960000000000000,我希望结果为5.6453456或3.96。如果结果是6435.054450000000540,我希望显示结果中的14位精度,因为我不希望显示最后一个不必要的零。如果结果是6435.000000000000003,我希望显示所有15位精度,因为最后没有不必要的零
有人可以帮忙吗?
提前致谢
答案 0 :(得分:0)
您可以将小数点数设置为2:
decimalResult = decimalResult.setScale(2);