【发布时间】:2016-02-03 09:18:41
【问题描述】:
如果我在 FRANCE/FRENCH 语言环境中转换数字,它应该使用空格作为千位分隔符。如果我尝试用其他字符替换空格,它不会找到任何空格。
String input = NumberFormat.getNumberInstance(Locale.FRANCE).format(123123123);
System.out.println("String after conversion in locale "+input);
input = input.replace(" ", ".");
System.out.println("After replace space with dot "+input);
输出
String after conversion in locale 123 123 123
After replace space with dot 123 123 123
因此,尽管分隔符看起来像空格,但它是不同的。确切的字符是什么?如何在 input.replace() 中指定该字符以便我可以用点替换它?
【问题讨论】:
-
为什么不设置一个使用点的数字格式化程序?
-
@mlk 我的代码接收到 FRANCE 格式的字符串。我想转换它。所以这段代码只是显示整个流程。
-
我很想将其转换为数字(因为这是您正在使用的),然后将其转换回您想要的格式的字符串,而不是进行字符串操作。当对象更有意义时,感觉太接近使用字符串的反模式了。
标签: java locale number-formatting