私は、Javaとトルコのリラ(ISO 4217通貨コードTRY)で価格を印刷しようとしています。Javaの通貨記号を上書きするにはどうすればいいですか?
私は
Currency curr = Currency.getInstance("TRY");
Locale trLocale = new Locale("tr", "TR");
System.out.println(curr.getSymbol(trLocale));
を行うと、出力は次のとおりです。 "YTL"。
しかし、トルコリラの通貨記号は、最近「YTL」と「TL」(トルコリラのためのWikipediaのページで見ることができるように)から変更されました。 NumberFormat
でフォーマットすると、同様の結果が得られます。
私は本当にJavaは1を内蔵してい場合は特に、さらに別の通貨クラスを記述する必要はありません。
TRYへの「TL」のためのJavaのデフォルトの通貨記号を上書きする方法はありますか?プロパティファイル内のJava 7では
これはすぐに役立つわけではありませんが、バグを報告し、次のJavaアップデートで修正される可能性があります。 –
通貨用の独自のラッパーを作成する以外の方法はありません。 Currencyは最終クラスであるため、特定のケースでgetSymbolをオーバーライドすることもできません。 YTLを使い、バグを報告するか(次のパッチで修正予定)、あるいは独自のソリューションを実装してください。 –