javaを使用して新しいインドの通貨記号(£)で数値をフォーマットする方法。回避策がある場合は、共有しましょう。
2 に答える
Java が新しい文字を適切にサポートするまでは、Unicode 値を使用して通貨記号を手動で指定できます。
インドの通貨記号の Unicode はU+20B9
したがって、この文字を Java 文字列に挿入する\u20B9
には、デフォルトの DecimalFormat 通貨値の代わりに指定します。\u00A4
例えば:
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");
また、この文字列を表示するために使用しているコンポーネントには、通貨記号を含むフォントが必要です。Window 7 の Arial はそうしますが、他の多くはそうではありません。
https://www.karnataka.gov.in/Documents/Rupee_Foradian.ttfこのフォントを Windows フォント フォルダにコピーします (RUN で ->type fonts)。
次に Font ProMed_Font=new Font("Rupee Foradian",Font.PLAIN,10); ラベルの上にフォントを設定
例:label.settext("100"+"`") 出力は 100+ルピー記号になります