DecimalFormat 实现保留小数点位数及四舍五入

 DecimalFormat decimalFormat = new DecimalFormat("###.###");
        decimalFormat.setRoundingMode(RoundingMode.DOWN);//down模式:不四舍五入

        String format = decimalFormat.format(new BigDecimal("1112.4578694566"));
        String format2 = decimalFormat.format(new BigDecimal("12.45"));
        String format3 = decimalFormat.format( new BigDecimal("343432.45723"));
        String format4 = decimalFormat.format( new BigDecimal("12.00078694566"));
        String format5 = decimalFormat.format(new BigDecimal("0.0078694566"));
        String format6 = decimalFormat.format(new BigDecimal("0.0000"));

        Log.d("小数点位数","format: "+format+"  format2: "+format2+" format3: "+format3+" format4: "+format4+" format5: "+format5+" format6: "+format6);


打印信息:
2020-08-04 18:07:44.468 30949-30949/com.hxh.hxhdemo D/小数点位数: format: 1112.457  format2: 12.45 format3: 343432.457 format4: 12 format5: 0.007 format6: 0

使用BigDecimal时,参数尽量传入字符串,要比传入double精准.

DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法,如果你想了解更多,请参考 DecimalFormat 类的文档。

参考:RoundingMode类型   https://blog.csdn.net/alanzyy/article/details/8465098

DecimalFormat 使用 https://www.cnblogs.com/Small-sunshine/p/11648652.html

你可能感兴趣的