如何全局配置号码的消息格式
How to configure MessageFormat for numbers globaly
我想更改 MessageFormat
打印数字的方式。
Integer foo = 99888;
String bar = MessageFormat.format("{0}", foo);
观测值为“99,888”。
所需值为“99888”。
我能做的是:
String bar = MessageFormat.format("{0, number,#}", foo);
问题是我必须在一个超过10'000的项目中更改它MessageFormat.format()
。所以这不是我想要的方式。
您知道是否有办法全局更改给 MessageFormat.format()
的数字格式吗?
我测试了这个,我得到了,
bar = "99 888";
所以我猜它正在工作。
除了写一个很奇怪的方面,我认为没有办法。这是您使用无法修改的 static
方法所付出的代价。
我会考虑使用您最喜欢的 IDE 或命令行工具(例如sed
。如果你想将所有出现的 {0}
更改为 {0,number,#}
它应该足以
sed -i -e 's/{0}/{0,number,#}/g' MyClass.java
短号
我会将模式 "{0, number,#}"
存储在一个全局变量中,所以有类似 "global" 的设置。
我想更改 MessageFormat
打印数字的方式。
Integer foo = 99888;
String bar = MessageFormat.format("{0}", foo);
观测值为“99,888”。
所需值为“99888”。
我能做的是:
String bar = MessageFormat.format("{0, number,#}", foo);
问题是我必须在一个超过10'000的项目中更改它MessageFormat.format()
。所以这不是我想要的方式。
您知道是否有办法全局更改给 MessageFormat.format()
的数字格式吗?
我测试了这个,我得到了,
bar = "99 888";
所以我猜它正在工作。
除了写一个很奇怪的方面,我认为没有办法。这是您使用无法修改的 static
方法所付出的代价。
我会考虑使用您最喜欢的 IDE 或命令行工具(例如sed
。如果你想将所有出现的 {0}
更改为 {0,number,#}
它应该足以
sed -i -e 's/{0}/{0,number,#}/g' MyClass.java
短号
我会将模式 "{0, number,#}"
存储在一个全局变量中,所以有类似 "global" 的设置。