BigDecimal对象不要构造Double类型小数,会损失经度,应该写为字符串Double.toString(0.01)

2024-01-09 11:39:44
BigDecimal amountSumTemp = new BigDecimal(0);
amountSumTemp = amountSumTemp.add(new BigDecimal(Double.toString(amount.getAmount())));
参考:
BigDecimal num5 = new BigDecimal(2.225667);
//会损失经度,打印结果:2.225667000000000061987748267711140215396881103515625
System.out.println(num5);
应该改为写法:
BigDecimal num5 = new BigDecimal("2.225667");
或者不是double类型的也可以,例如:
BigDecimal num2 = new BigDecimal(2);//这种写法是可以的

https://www.baidu.com/link?url=02MeAcoD-1XR7a2ulVwX2A6PsLq-v01GWgjc7Aqu9rWABrTORJLO9BNNXiKwvNDI-eBSMQDroHfWu-u5Cw_R14S-ssV6CZMD0ZY2ePCt7VW&wd=&eqid=a96ebb92000eafb900000006659cb1c8

文章来源:https://blog.csdn.net/tanzongbiao/article/details/135474801
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。