2012-07-03 9 views

答えて

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

あろう内部のDecimalFormatSymbolsメタデータで通貨記号を更新します。 –

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

PLease enter the key properly as showed in image