new BigDecimal(1.555) 和 BigDecimal.valueOf(1.555)

new BigDecimal(double)   会存在精度损失,建议使用BigDecimal.valueOf(Double) 或者 new BigDecimal(String)

    public static void main(String[] args) {
        // new BigDecimal(1.555) 输出结果是1.55
        System.out.println(new BigDecimal(1.555).setScale(2, RoundingMode.HALF_UP));
        // BigDecimal.valueOf(1.555) 输出结果是1.56
        System.out.println(BigDecimal.valueOf(1.555).setScale(2, RoundingMode.HALF_UP));
    }

 

posted @ 2024-11-04 15:31  行智障  阅读(15)  评论(0)    收藏  举报