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