2

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

4

3 回答 3

3

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

我会考虑使用您最喜欢的 IDE 或命令行工具(例如sed. 如果你想改变所有出现的{0}into{0,number,#}它应该足以

sed -i -e 's/{0}/{0,number,#}/g' MyClass.java
于 2018-07-13T08:24:32.737 回答
2

短号

我会将模式存储"{0, number,#}"在全局变量中,因此有类似“全局”设置的东西。

于 2018-07-23T08:39:08.427 回答
0

我测试了这个,我得到了,

bar = "99 888";

所以我想它正在工作。

于 2018-07-13T08:22:53.680 回答