我正在尝试学习Java(我有其他语言的新手级编程经验),目前正在阅读Absolute Java 5th Edition。到目前为止一切顺利,除了与E-notation相关的与DecimalFormat类相关的一小部分。我理解基础知识,但有些逻辑我似乎无法“得到”。
例如,用## 0格式化的数字12345。## E0根据书籍最终为12.3E3。为什么它确定小数点前有两位数而不是一位或三位?我知道#是一个可选的数字,但是在对不同的数字进行一些格式限制之后,它几乎看起来像格式有点武断(虽然我知道它不可能)。我已经在本书之外寻找了一个很好的解释,并且做得很短。如果有人能为我“愚蠢”,我会非常感激。
此外,在现实世界的应用程序中使用这种格式的频率是多少?
非常感谢。
答案 0 :(得分:0)
这是模式前面部分的#数,因此如果它是#0.##E0
,它将是1.234E4
DecimalFormat df = new DecimalFormat("#0.##E0");
System.out.println(df.format(12345));
学习新语言的最佳方法,如果要编写这样的小测试程序。
另请参阅the Oracle site