如何用DecimalFormat设置正负号格式,使0不显示符号?
解决DecimalFormat中0显示+0的问题
你当前使用的"+#;-#"格式只定义了正数和负数的显示规则,DecimalFormat在未指定零格式时,会默认沿用正数的格式规则,导致0被格式化为+0。要解决这个问题,只需在格式字符串中补充零的格式规则即可——DecimalFormat支持用分号分隔三个部分:正数格式;负数格式;零格式。
修改后的格式字符串如下:
private companion object { const val DECIMAL_SIGN_FORMAT = "+#;-#;0" }
这样设置后:
- 正数会显示带正号的格式(如
+123) - 负数会显示带负号的格式(如
-456) - 0会显示为无符号的
0
如果希望0显示为空字符串,可以把第三部分改为空:"+#;-#;",不过通常显示0更符合常规需求。
内容的提问来源于stack exchange,提问作者CHARFEDDINE Amine
相关产品推荐
相关产品推荐

