java的double乘法精度问题
程序员文章站
2022-07-13 17:09:21
...
项目中实际的代码,我们实际的金额单位是元,精确到分,另外一个系统传递的时候需要的是整数,就是分,我们就简单乘以100转换了下,结果发现是有问题的:
public static void main(String[] args) { double payMoney = Double.valueOf("1253.59"); String result = String.valueOf((int)(payMoney * 100)); System.out.println(result); }
结果是:125358
因为1253.59*100 的结果是 125358.99999999999
还比较没有想到乘以100这种都有问题。
解决的方法是用BigDecimal,就不多说了。
上一篇: Quartz 1.8.0版本的死锁问题
下一篇: java的double乘法精度问题