public static void main(String[] args) { // 浮点数的打印 System.out.println(new BigDecimal("10000000000").toString()); // 普通的数字字符串 System.out.println(new BigDecimal("100.000").toString()); // 去除末尾多余的0 System.out.println(new BigDecimal("100.000").stripTrailingZeros().toString()); // 避免输出科学计数法 System.out.println(new BigDecimal("100.000").stripTrailingZeros().toPlainString()); }
输出结果:
10000000000 100.000 1E+2 100
使用BigDecimal主要是做运算,避免精度缺失。使用double做乘法和除法运算时,精度会缺失
BigDecimal的乘法:
BigDecimal num1 = new BigDecimal("100.000");
BigDecimal num2 = new BigDecimal("100.000");
BigDecimal result1= num1.nultiply(num2);
BigDecimal result1 = num.divide(num1,20,BigDecimal.ROUND_HALF_UP);