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 } }
"人生的光陰,最緊要開心。"