方法一:
BigDecimal b1 = new BigDecimal(156.56496);
b1.setScale(scale,BigDecimal.ROUND_HALF_UP);
说明:scale=3,也就是说保留两位小数。如果b=156,156.5或156.55,其结果分别是
156.0,156.5和156.55。也就是说,保留的位数不能统一,看要求使用。
方法二:
Double b = 3.5975;
BigDecimal b = new BigDecimal(new java.text.DecimalFormat("#.000").format(b));
说明:如果保留两位时,本来应该是3.60,但其结果是3.6,且也存在方法一的问题,
不推荐使用。
方法二:
b=156.56496;
BigDecimal b1 = new BigDecimal(b);
BigDecimal b2 = new BigDecimal(1);
b1.divide(b2, scale, RoundingMode.HALF_UP)
说明:scale=2,也就是说保留两位小数。如果b=156或156.5,其结果分别是
156.00和156.50。推荐使用~
Java BigDecimal 类型精确数值操作方法详解
本文详细介绍了 Java 中 BigDecimal 类型进行精确数值操作的方法,包括设置小数位数、格式化输出以及数学运算等核心内容。通过具体实例对比了不同方法的优劣,推荐了最适合实际应用的方法。
6984

被折叠的 条评论
为什么被折叠?



