1.方法介绍
stripTrailingZeros():去除小数尾部所有的0,并返回一个BigDecimal类型的数据,不能保证不是科学计数法
toPlainString():不使用任何指数(永不使用科学计数法)
toString():有必要时使用科学计数法
toEngineeringString():有必要时使用工程计数法。工程记数法是一种工程计算中经常使用的记录数字的方法,与科学计数法类似,但要求10的幂必须是3的倍数
2.代码测试
public class TestBigDecimal {
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal(20000.0009 + "");
//RoundingMode.DOWN直接舍入
bigDecimal=bigDecimal.setScale(3, RoundingMode.DOWN);
//20000.000
System.out.println("bigDecimal = " + bigDecimal);
//去除尾部所有的0,并返回一个BigDecimal类型的数据,不能保证不是科学计数法
bigDecimal = bigDecimal.stripTrailingZeros();
//2E+4
System.out.println("bigDecimal = " + bigDecimal);
//不使用任何指数(永不使用科学计数法)
String s = bigDecimal.toPlainString();
//20000
System.out.println("s = " + s);
//有必要时使用科学计数法
String s1 = bigDecimal.toString();
//2E+4
System.out.println("s1 = " + s1);
//有必要时使用工程计数法。工程记数法是一种工程计算中经常使用的记录数字的方法,
//与科学计数法类似,但要求10的幂必须是3的倍数
String s2 = bigDecimal.toEngineeringString();
//20E+3
System.out.println("s2 = " + s2);
}
}