RYN*_*RYN 3 java locale numbers
我正在尝试在fa_IR区域设置中显示数字。
我正在使用此代码:
NumberFormat.getNumberInstance(new Locale("fa","IR")).format(myNum);
Run Code Online (Sandbox Code Playgroud)
但这会打印英文(en_US)数字。
如何在Java中的特定语言环境中显示数字?
实施例:
例如,如果myNumBE 12输出应该是??
编辑:
似乎java.text.NumberFormat不支持fa_IR语言环境(?)。
使用com.?ibm.?icu.?text.?NumberFormat替代,解决了这个问题!
如您所知,Oracle(或者最好说Java编程语言)不直接支持波斯语,为了拥有波斯语(或阿拉伯语)NumberFormat,您可以使用以下代码:
NumberFormat numberFormat = NumberFormat.getNumberInstance(new Locale.Builder().setLanguageTag("ar-SA-u-nu-arab").build());
System.out.println(numberFormat.format(1234567890));
Run Code Online (Sandbox Code Playgroud)
输出将是这样的:
?????????????
正如您使用这种代码所看到的那样,您的输出数字不仅将采用波斯语风格,而且其每个三个数字也将被分组并以“,”字符分隔。
试试这个代码:
NumberFormat nf = NumberFormat.getNumberInstance(new Locale("fa"));
System.out.println(nf.format(1234567890));
Run Code Online (Sandbox Code Playgroud)
输出:
???????????
Run Code Online (Sandbox Code Playgroud)