java 两个double类型的数相加 结果不正确
double aDouble=1420133.89,bDouble=12282.47;
double sum=aDouble+bDouble;
System.out.println(sum);
本来结果为:1432416.36 得到的结果为:1432416.3599999999
怎么才可以得到正确结果呢?
------解决方案--------------------Java中的简单浮点数类型float和double不能够进行运算
------解决方案--------------------不知道java支不支持BCD码数字或货币数字类型。
------解决方案--------------------这是计算机的问题 不是Java的问题
参考下这个吧:
http://blog.csdn.net/waitfor_/article/details/8035773
------解决方案--------------------嗯 我现在知道了 呵呵 可以用 bigdecimal
------解决方案--------------------如果是作为计算的中间值,而不是把这个结果显示在屏幕上,我看这个计算结果完全正确啊,1432416.3599999999和1432416.36就是一样的。
就算要显示在屏幕上,显示前总得保留若干位小数吧,那么显示出来还是1432416.36,就是正确的结果。
要相信基本类。
------解决方案--------------------
不是 我这个要要求 不可以四舍五入 是多少就得是多少
------解决方案--------------------问题解决 谢谢各位 O(∩_∩)O~