BigDecimal类中的3个toString方法


BigDecimal类中提供了3个toString方法,分别是toEngineeringString、toPlainString和toString方法。

从BigDecimal的源码中可以看到这3个方法的区别:

toEngineeringString:有必要时使用工程计数法。工程记数法是一种工程计算中经常使用的记录数字的方法,与科学计数法类似,但要求10的幂必须是3的倍数。

toPlainString:不使用任何指数。

toString:有必要时使用科学计数法。

转化示例:

 不使用指数 科学记数法 工程记数法
2700 2.7 × 103 2.7 × 103
27000 2.7 × 10? 27 × 103
270000 2.7 × 10? 270 × 103
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
    }
}

"人生的光阴,最紧要开心。"

相关