天天看點

DecimalFormat 中的 # 與 0 的差別(中文幫助文檔中翻譯可能是錯誤的)

想對數字進行格式化的時候,可能會使用到  java.text.DecimalFormat 類。中文幫助文檔中,有如下

符号   位置   本地化      含義  
0       數字     是         阿拉伯數字  
#      數字      是         阿拉伯數字,如果不存在則顯示為 0       

但是,

new java.text.DecimalFormat("#.###").format(3.0)
new java.text.DecimalFormat("0.000").format(3.0)
           

輸出的結果卻為:  3 和 3.000

是以,我覺得中文檔文檔中對這個的翻譯是存在錯誤的,于是去JAVA源碼中找到原始的注釋,如下:

Symbol    Location   Localized?  Meaning  
0              Number    Yes            Digit  
#             Number     Yes            Digit, zero shows as absent        

 請注意,“zero shows as absent”,應該如何翻譯,大家自己看着翻譯吧。