我想更改MessageFormat
打印数字的方式。
Integer foo = 99888;
String bar = MessageFormat.format("{0}", foo);
观察值为“ 99,888”。
期望值为“ 99888”。
我能做的是这个
String bar = MessageFormat.format("{0, number,#}", foo);
问题是我必须在{'1}超过10'000的项目中进行更改。因此,这并不是我真正想要的方式。
您知道是否可以全局更改给MessageFormat.format()
的数字格式吗?
答案 0 :(得分:3)
除了写一个非常奇怪的方面,我不相信有办法。这就是您使用无法修改的static
方法支付的价格。
我会考虑使用您喜欢的IDE或命令行工具(例如, sed
。如果您想将所有发生的{0}
更改为{0,number,#}
,
sed -i -e 's/{0}/{0,number,#}/g' MyClass.java
答案 1 :(得分:2)
短号
我会将模式"{0, number,#}"
存储在全局变量中,因此应具有类似“全局”的设置。
答案 2 :(得分:0)
我对此进行了测试,然后得到了
bar = "99 888";
所以我想它正在工作。