BigDecimal类中提供了3个toString方法,分别是toEngineeringString、toPlainString和toString方法。
从BigDecimal的源码中可以看到这3个方法的区别:
toEngineeringString:有必要时使用工程计数法。工程记数法是一种工程计算中经常使用的记录数字的方法,与科学计数法类似,但要求10的幂必须是3的倍数。
toPlainString:不使用任何指数。
toString:有必要时使用科学计数法。
转化示例:
不使用指数 | 科学记数法 | 工程记数法 |
2700 | 2.7 × 10³ | 2.7 × 10³ |
27000 | 2.7 × 10⁴ | 27 × 10³ |
270000 | 2.7 × 10⁵ | 270 × 10³ |
2700000 | 2.7 × 10⁶ | 2.7 × 10⁶ |
代码示例:
import java.math.BigDecimal; public class Test { public static void main(String[] args) { BigDecimal bg = new BigDecimal("1E11"); System.out.println(bg.toEngineeringString()); // 100E+9 System.out.println(bg.toPlainString()); // 100000000000 System.out.println(bg.toString()); // 1E+11 } }
"人生的光阴,最紧要开心。"