代码如下:

Double d1 = 0.35;
Double d2 = 0.1;
System.out.println(d1+d2);

 

结果很不幸不是0.45,而是0.44999999999999996

 

如果对于精度没有限制,我们当突然可是四舍五入的去计算,但如果涉及到RMB的计算,我们就要谨慎了。

 

所以在java中,我们不能使用double类型来做浮点运算。

解决方案: 使用

BigDecimal b1 = new BigDecimal(Double.toString(d1));
BigDecimal b2 = new BigDecimal(Double.toString(d2));
System.out.println(b1.add(b2).doubleValue());

输出:0.45

相关文章:

  • 2021-10-17
  • 2021-12-26
  • 2022-12-23
  • 2022-12-23
  • 2021-09-20
  • 2022-01-06
  • 2021-11-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-15
  • 2021-11-01
  • 2021-12-25
  • 2021-12-25
相关资源
相似解决方案