浮点数值不适合用于禁止出现误差的金融计算中。

 例如,命令System.out.println(2.0-1.1);将打印出0.8999999999999999,而不是人们想象的0.9.原因是浮点数是采用二进制数表示的,而在

二进制数中无法精确的表示1/10 。这就好像十进制数无法表示1/3一样。如果需要在数值计算中不含有任何误差,这就应该使用BigDecimal类:

 BigDecimal bd=new BigDecimal(String.valueOf(3.3));
   BigDecimal bd2=new BigDecimal(String.valueOf(2.4));
   double res=bd.subtract(bd2).doubleValue();//bd-bd2
   System.out.println(res);

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
  • 2021-05-15
  • 2022-12-23
猜你喜欢
  • 2022-02-24
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2022-01-16
  • 2021-12-16
相关资源
相似解决方案