我想更改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()的数字格式?

最佳答案

除了写一个非常奇怪的方面,我不相信有办法。这就是您使用无法修改的static方法支付的价格。

我会考虑使用您最喜欢的IDE或命令行工具(例如, sed。如果要将所有出现的{0}更改为{0,number,#},则足以

sed -i -e 's/{0}/{0,number,#}/g' MyClass.java

10-01 23:08