我在用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」(正如土耳其里拉的維基百科頁面所示)。使用NumberFormat
進行格式化也會得到類似的結果。
我真的不想寫另一個Currency類,特別是當Java有一個內置類。
是否有一種方法可以將Java的默認貨幣符號替換爲「TL」?
這並不能立即提供幫助,但提交了一個錯誤,它可能會在下一次Java更新中修復。 – 2009-05-21 18:00:04
除了爲貨幣創建自己的包裝外沒有其他辦法。貨幣是一個最終的類,所以它甚至不能擴展爲覆蓋您的特定情況下的getSymbol。或者與YTL同住並報告錯誤(並希望在下一個補丁中修復)或實施您自己的解決方案。 – 2009-05-21 18:28:03