【发布时间】:2014-03-09 06:50:32
【问题描述】:
在我的 android 程序中,我显示大数字。为了使它们易于阅读,我希望将这些数字的格式设置为不像 1000000 而是像 1 000 000。
像这样格式化字符串最简单的方法是什么?
【问题讨论】:
在我的 android 程序中,我显示大数字。为了使它们易于阅读,我希望将这些数字的格式设置为不像 1000000 而是像 1 000 000。
像这样格式化字符串最简单的方法是什么?
【问题讨论】:
试试这个
String s = NumberFormat.getNumberInstance(Locale.FRANCE).format(1000000);
【讨论】:
Locale :)
使用NumberFormat 和Locale#US 将,s 添加到号码:
String myNumber = NumberFormat.getNumberInstance(Locale.US).format(number);
然后用空格替换每个,:
myNumber = myNumber.replace(",", " ");
或者,正如@EvgeniyDorofeev 所建议的那样,使用Locale#FRANCE,您无需替换任何东西:)
请注意replace 和replaceAll 之间的区别。请参阅接受CharSequence 的String#replace 并尝试代码。
它们都替换所有字符,replaceAll 接受 regex,在这种情况下我不需要。
【讨论】:
replace 在这里会很好.. 试试看。
replace和replaceAll有什么区别?
replace(CharSequence target, CharSequence replacement) 也接受String 作为方法参数,因为String 实现了CharSequence
你可以像这样使用String.format,
long num = 1000000;
System.out.println(String.format("%,d", num).replace(",", " "));
输出是
1 000 000
【讨论】: