DecimalFormat 中的 # 与 0 的区别(中文帮助文档中翻译可能是错误的)

时间:2020-12-14 04:32:08

想对数字进行格式化的时候,可能会使用到 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”,应该如何翻译,大家自己看着翻译吧。