4

fa_IRロケールで数字を表示しようとしています。
私はこのコードを使用しています:

NumberFormat.getNumberInstance(new Locale("fa","IR")).format(myNum);

しかし、これは英語の ( en_US) 数字を出力します。
Javaの特定のロケールで数値を表示するにはどうすればよいですか?


例:
たとえば、出力myNum12۱۲


編集:ロケール(?)をサポートしていない
ようです。代わりに 使用すると、問題が解決します!java.text.NumberFormatfa_IR
com.​ibm.​icu.​text.​NumberFormat

4

3 に答える 3

7

ご存じのように、Oracle (またはJava プログラミング言語の方が適切です) はペルシア語を直接サポートしていません。ペルシア語 (またはアラビア語) の NumberFormat を使用するには、以下のコードを使用できます。

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

出力は次のようになります: ۱،۲۳۴،۵۶۷،۸۹۰ この種のコードを使用するとわかるように、出力番号はペルシャ スタイルになるだけでなく、3 つの各番号がグループ化されて「,」文字で区切られます。

于 2015-04-15T06:12:51.317 に答える