概述
BigDecimal
BigDecimal bigDecimal1= new BigDecimal(0.0);
BigDecimal bigDecimal2= new BigDecimal(1.001);
BigDecimal bigDecimal3= new BigDecimal("0.0");
BigDecimal bigDecimal4= new BigDecimal("1.001");
for (int i = 0; i <5; i++) {
bigDecimal1 = bigDecimal1.add(bigDecimal2);
System.out.println(bigDecimal1);
}
System.out.println("---------------------------");
for (int i = 0; i <5; i++) {
bigDecimal3 = bigDecimal3.add(bigDecimal4);
System.out.println(bigDecimal3);
}
输出结果:
1.000999999999999889865875957184471189975738525390625
2.001999999999999779731751914368942379951477050781250
3.002999999999999669597627871553413569927215576171875
4.003999999999999559463503828737884759902954101562500
5.004999999999999449329379785922355949878692626953125
---------------------------
1.001
2.002
3.003
4.004
5.005
可以明显看出
bigDecimal1 不正常 <pre name="code" class="java">bigDecimal3 正常
就是当我们相加的时候 最好new BigDecimal(字符串)
最后
以上就是重要麦片为你收集整理的Android :关于小数相加出现很多位的 BigDecimal 也会有时不靠谱原因的全部内容,希望文章能够帮你解决Android :关于小数相加出现很多位的 BigDecimal 也会有时不靠谱原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复