在fa_IR语言环境中显示数字

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替代,解决了这个问题!

Ely*_*deh 5

如您所知,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)

输出将是这样的: ????????????? 正如您使用这种代码所看到的那样,您的输出数字不仅将采用波斯语风格,而且其每个三个数字也将被分组并以“,”字符分隔。


Ali*_*ali 5

试试这个代码:

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)