浮点数比较

浮点数的比较会存在精度丢失的问题.

public class Test{
        public static void main(String [] args){
               System.out.println(5.12f-5.0f);
        }
}

输出的结果并不是0.12, 而是0.119999886
解决方法

public double subtract(double v1, double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));

        return b1.subtract(b2).doubleValue();
    }
原文地址:https://www.cnblogs.com/mephisto03/p/9704900.html