美文网首页java开发程序员
【Java最佳实战记录】double转BigDecimal,数值

【Java最佳实战记录】double转BigDecimal,数值

作者: 沧月V587 | 来源:发表于2017-03-10 12:14 被阅读708次

    之前把double类型数据转成BigDecimal类型数据,直接使用new BigDecimal(),结果导致转换后的数值变大。如要将double转BigDecimal,使用BigDecimal.valueOf()方法。

    public class TestB {
        public static void main(String[] args) {
            double a = -0.0025;
            BigDecimal b1 = new BigDecimal(a);
            BigDecimal b2 = BigDecimal.valueOf(a);
            BigDecimal b3 = new BigDecimal("-0.0025");
    
            System.out.println(b1);//结果为 -0.0025000000000000000520417042793042128323577344417572021484375
            System.out.println(b2);//结果为 -0.0025
            System.out.println(b3);//结果为 -0.0025
            System.out.println(b1.compareTo(b2));//结果为 -1
            System.out.println(b1.compareTo(b3));//结果为 -1
            System.out.println(b2.compareTo(b3));//结果为 0
        }
    }
    

    相关文章

      网友评论

        本文标题:【Java最佳实战记录】double转BigDecimal,数值

        本文链接:https://www.haomeiwen.com/subject/piungttx.html