浮点数比较

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

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();
    }
posted @ 2018-09-26 09:04  无聊的子木君  阅读(109)  评论(0编辑  收藏  举报