在我的Android程序中,我显示大数字。为了使它们易于阅读,我想格式化这些数字,而不是像 1000000 ,但像 1 000 000 。
这种格式化字符串的最简单方法是什么?
答案 0 :(得分:8)
试试这个
String s = NumberFormat.getNumberInstance(Locale.FRANCE).format(1000000);
答案 1 :(得分:5)
将NumberFormat
与Locale#US
一起使用,将,
添加到号码中:
String myNumber = NumberFormat.getNumberInstance(Locale.US).format(number);
然后用空格替换每个,
:
myNumber = myNumber.replace(",", " ");
或者,正如@EvgeniyDorofeev建议的那样,使用Locale#FRANCE
并且您不必更换任何东西:)
请注意replace
和replaceAll
之间的区别。请参阅接受String#replace
的CharSequence
,然后尝试使用该代码。
他们都替换所有字符,replaceAll
接受正则表达式,在这种情况下我不需要。< / p>
答案 2 :(得分:2)
你可以这样使用String.format,
long num = 1000000;
System.out.println(String.format("%,d", num).replace(",", " "));
输出
1 000 000