java 两个double类型的数相加 结果不正确

wxl1990721 2012-12-02 09:54:46
double aDouble=1420133.89,bDouble=12282.47;
double sum=aDouble+bDouble;
System.out.println(sum);

本来结果为:1432416.36 得到的结果为:1432416.3599999999

怎么才可以得到正确结果呢?
...全文
708 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxl1990721 2012-12-05
  • 打赏
  • 举报
回复
问题解决 谢谢各位 O(∩_∩)O~
wxl1990721 2012-12-05
  • 打赏
  • 举报
回复
引用 5 楼 pagen_hd 的回复:
如果是作为计算的中间值,而不是把这个结果显示在屏幕上,我看这个计算结果完全正确啊,1432416.3599999999和1432416.36就是一样的。 就算要显示在屏幕上,显示前总得保留若干位小数吧,那么显示出来还是1432416.36,就是正确的结果。 要相信基本类。
不是 我这个要要求 不可以四舍五入 是多少就得是多少
pagen_hd 2012-12-04
  • 打赏
  • 举报
回复
如果是作为计算的中间值,而不是把这个结果显示在屏幕上,我看这个计算结果完全正确啊,1432416.3599999999和1432416.36就是一样的。 就算要显示在屏幕上,显示前总得保留若干位小数吧,那么显示出来还是1432416.36,就是正确的结果。 要相信基本类。
wxl1990721 2012-12-04
  • 打赏
  • 举报
回复
嗯 我现在知道了 呵呵 可以用 bigdecimal
想喝咖啡的貓 2012-12-03
  • 打赏
  • 举报
回复
这是计算机的问题 不是Java的问题 参考下这个吧: http://blog.csdn.net/waitfor_/article/details/8035773
千树之影 2012-12-03
  • 打赏
  • 举报
回复
不知道java支不支持BCD码数字或货币数字类型。
k_jun1 2012-12-03
  • 打赏
  • 举报
回复
Java中的简单浮点数类型float和double不能够进行运算

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧