0

我想修改我的应用程序区域设置格式和显示数字的方式。在我的例子中,语言环境是“it_IT”,所以数字的格式是“。” 作为 GroupingSeparator 和 ',' 作为 DecimalSeparator。是否可以在全局应用程序级别更改或删除这些符号?

4

1 回答 1

0

取决于你想要什么,有不同的方法。请参阅下面的一些内容...

1在您的应用程序中设置默认语言环境Locale.setDefault(Locale.UK);这将使用逗号作为 GroupingSeparator 并使用点作为 DecimalSeparator

2您可以为特定语言环境创建 java.text.NumberFormat ,其NumberFormat.getInstance(Locale.UK)行为类似于解决方案1 )

3您可以使用上述方法之一删除 GroupingSeparator

NumberFormat formatUK = NumberFormat.getInstance(Locale.UK);
formatUK.setGroupingUsed(false);

编辑:

import java.text.NumberFormat;
import java.util.Locale;
public class Foo {
    public static void main(String[] args) {
        NumberFormat formatUK = NumberFormat.getInstance(Locale.UK);
        double someValue = 1234567.8899;
        System.out.printf("%16s: %15s%n", "with grouping", formatUK.format(someValue));
        formatUK.setGroupingUsed(false);
        System.out.printf("%16s: %15s%n", "without grouping", formatUK.format(someValue));
    }
}
于 2013-10-03T11:04:55.233 回答