如何在数字中插入逗号?

Cut*_*ark 6 java number-formatting

String.format()在书中找到了这样一个使用示例:

package stringFormat;

public class Main {
    public static void main(String[] args) {
        String test = String.format("%, d", 1000000000);
        System.out.println(test);
    } 
}
Run Code Online (Sandbox Code Playgroud)

根据这本书,输出应该是:1,000,000,000. 但是当我运行代码时,我只得到1 000 000 000没有逗号。为什么?我怎样才能用逗号得到它?

输出图片

孙兴斌*_*孙兴斌 4

重现问题Locale.FRANCE

\n\n
Locale.setDefault(Locale.FRANCE);\n\nString test = String.format("%, d", 1000000000);\nSystem.out.println(test); //  1\xc2\xa0000\xc2\xa0000\xc2\xa0000\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以通过以下方式避免这种情况Locale.US

\n\n
String test = String.format(Locale.US, "%, d", 1000000000);\n\nor\n\nLocale.setDefault(Locale.US);\nString test = String.format("%, d", 1000000000);\n
Run Code Online (Sandbox Code Playgroud)\n

  • 但这个例子又如何呢?那么这是完全错误的吗?为什么它不起作用? (2认同)