格式化字符串的最简单方法,如1 000 000

146*_*ian 3 java string android

在我的android程序中,我显示大数字.为了使它们易于阅读,我想格式化这些数字,而不是像1000000,而是像1 000 000.

哪种格式化这样的字符串最简单?

Evg*_*eev 8

试试这个

String s = NumberFormat.getNumberInstance(Locale.FRANCE).format(1000000);
Run Code Online (Sandbox Code Playgroud)


Mar*_*oun 5

使用NumberFormat与Locale#US添加,s到数:

String myNumber = NumberFormat.getNumberInstance(Locale.US).format(number);
Run Code Online (Sandbox Code Playgroud)

然后用,空格替换每个:

myNumber = myNumber.replace(",", " ");
Run Code Online (Sandbox Code Playgroud)

或者,正如@EvgeniyDorofeev建议的那样,使用Locale#FRANCE并且您不必更换任何东西:)


请注意之间的差异replace和replaceAll.看到String#replace接受了CharSequence,请尝试代码.

它们都替换所有字符,replaceAll接受正则表达式,在这种情况下我不需要.

  • 它应该替换所有? (2认同)