wzi*_*ska 15 java localization numbers string-formatting
是否可以像在NumberFormat.format中那样在String.format调用中本地化数字?
我原以为它只是用它
String.format(locale, "%d", number)
Run Code Online (Sandbox Code Playgroud)
但是这不会返回与使用NumberFormat相同的结果.例如:
String.format(Locale.GERMAN, "%d", 1234567890)
Run Code Online (Sandbox Code Playgroud)
给出:"1234567890",而
NumberFormat.getNumberInstance(Locale.GERMAN).format(1234567890)
Run Code Online (Sandbox Code Playgroud)
给出:"1.234.567.890"
如果无法完成,那么本地化文本(包括数字)的推荐方法是什么?
ser*_*g10 23
从文档中,您必须:
所以你的例子将成为:
String.format(Locale.GERMAN, "%,d", 1234567890)
Run Code Online (Sandbox Code Playgroud)
注意'd'之前的附加','标志.
另一种方法String.format()
是使用 MessageFormat:
MessageFormat format = new MessageFormat("The number is {0, number}", Locale.GERMAN);
String s = format.format(new Object[] {number});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12079 次 |
最近记录: |