Java DecimalFormat类和电子符号

时间:2015-06-28 14:34:55

标签: java

我正在尝试学习Java(我有其他语言的新手级编程经验),目前正在阅读Absolute Java 5th Edition。到目前为止一切顺利,除了与E-notation相关的与DecimalFormat类相关的一小部分。我理解基础知识,但有些逻辑我似乎无法“得到”。

例如,用## 0格式化的数字12345。## E0根据书籍最终为12.3E3。为什么它确定小数点前有两位数而不是一位或三位?我知道#是一个可选的数字,但是在对不同的数字进行一些格式限制之后,它几乎看起来像格式有点武断(虽然我知道它不可能)。我已经在本书之外寻找了一个很好的解释,并且做得很短。如果有人能为我“愚蠢”,我会非常感激。

此外,在现实世界的应用程序中使用这种格式的频率是多少?

非常感谢。

1 个答案:

答案 0 :(得分:0)

这是模式前面部分的#数,因此如果它是#0.##E0,它将是1.234E4

DecimalFormat df = new DecimalFormat("#0.##E0");
System.out.println(df.format(12345));

学习新语言的最佳方法,如果要编写这样的小测试程序。

另请参阅the Oracle site