出现精度丢失的场景有如下情况:

  1.  double/float 之间做运算
  2. 采用BigDecimal的构造方法

java double/float精度丢失问题

解决方案:

  1. 通过 BigDecimal.valueOf的静态方法转化double/float数值,然后再运算;
  2. 如果要用BigDecimal的构造方法,请使用new BigDecimal(String val);

    如:new BigDecimal(Double.toString(0.1));

java double/float精度丢失问题

相关文章: