新しいインドの通貨記号(₹)を使用して数値をフォーマットする方法はjava.ifを使用しています。回避策があれば教えてください。Javaの新しいインド通貨記号をサポート
5
A
答えて
4
Javaが新しい文字を適切にサポートするまで、ユニコード値を使用して通貨記号を手動で指定することができます。
:インドの通貨記号は、だからではなく、例えば\u00A4
のデフォルトのDecimalFormatの通貨価値の\u20B9
として指定するJava文字列にこの文字を挿入するU+20B9
あるため
ユニコードは、
DecimalFormat formatter = new DecimalFormat("\u20B9 000");
残念ながら、これはあなたの出力が常にルピー記号を表示するようにハードコードします。複数のロケールをサポートする必要がある場合は、user.countryシステムプロパティを確認できます。
boolean iAmInIndia = "IN".equals(System.getProperty("user.country"));
DecimalFormat formatter = iAmInIndia ? new DecimalFormat("\u20B9 000") : new DecimalFormat("\u00A4 000");
また、この文字列を表示するために使用するコンポーネントには、通貨記号を含むフォントが必要です。窓7のArialはそうしますが、多くの人はそうしません。
0
https://www.karnataka.gov.in/Documents/Rupee_Foradian.ttfこのフォントをWindowsフォントフォルダー(RUN - > type fonts)にコピーします。
次に フォントProMed_Font = new Font( "Rupee Foradian"、Font.PLAIN、10);
例を標識するために、フォントの上に設定 :label.settext( "100" + "`")出力パターンよりも優れた代替currencyInstanceを使用することで100 +ルピーsymblol
関連する問題
あろう内部のDecimalFormatSymbolsメタデータで通貨記号を更新します。 –