Java 在fa_IR区域设置中显示数字

Java 在fa_IR区域设置中显示数字,java,numbers,locale,Java,Numbers,Locale,我试图在fa\u IRlocale中显示数字。 我正在使用以下代码: NumberFormat.getNumberInstance(new Locale("fa","IR")).format(myNum); 但这会打印英文(en_US)数字。 如何在Java中的特定区域设置中显示数字 示例: 例如,如果myNumbe12则输出应为 编辑: 似乎java.text.NumberFormat不支持fa\u IRlocale(?。 使用com。​国际商用机器公司​重症监护病房。​文本。​Numb

我试图在
fa\u IR
locale中显示数字。
我正在使用以下代码:

NumberFormat.getNumberInstance(new Locale("fa","IR")).format(myNum);
但这会打印英文(
en_US
)数字。
如何在Java中的特定区域设置中显示数字


示例:
例如,如果
myNum
be
12
则输出应为


编辑:
似乎
java.text.NumberFormat
不支持
fa\u IR
locale(?。
使用
com。​国际商用机器公司​重症监护病房。​文本。​NumberFormat
解决了这个问题

正如您所知,Oracle(或者最好说Java编程语言)不直接支持波斯语,为了获得波斯语(或阿拉伯语)数字格式,您可以使用以下代码:

NumberFormat numberFormat = NumberFormat.getNumberInstance(new Locale.Builder().setLanguageTag("ar-SA-u-nu-arab").build());
System.out.println(numberFormat.format(1234567890));
输出如下:

如您所见,通过使用此类代码,您的输出编号不仅将采用波斯风格,而且其每三个编号都将分组并用一个“”、“字符分隔。

尝试以下代码:

NumberFormat nf = NumberFormat.getNumberInstance(new Locale("fa"));
System.out.println(nf.format(1234567890));
输出:

۱۲۳٬۴۵۶٬۷۸۹
试试这个:

String.format(new Locale("fa"), "%d", 123456)

你能给出你的原始数字和预期结果吗?我看不出伊朗和美国的数字格式有什么不同。。。点击这里@Kent:我添加了一个例子;波斯语的数字就像阿拉伯数字。@RYN,你好,你的问题解决了吗?我想在我的javaFX应用程序中显示波斯数字,但我无法实现。