我想根據它們的區域設置獲取貨幣的符號。但不是返回一個符號,而是返回代碼。我有一個片段:沒有獲取特定區域設置的貨幣符號
import java.util.Currency;
import java.util.Locale;
public class CurrencyFormat
{
public void displayCurrencySymbols()
{
Currency currency = Currency.getInstance(Locale.US);
System.out.println("United States: " + currency.getSymbol());
}
public static void main(String[] args)
{
new CurrencyFormat().displayCurrencySymbols();
}
}
對於Locale.US它給符號$
但如果我
Currency currency = Currency.getInstance(Locale.GERMANY);
然後,而不是象徵它給替換
Currency currency = Currency.getInstance(Locale.US);
國家代碼。爲什麼是這樣以及我們如何獲得符號?
編輯:尋找一些答案後,我想明確的是,設置一些特定的默認地方是不是一個解決方案,我需要一次顯示所有avalaible跡象。
例如
Locale.setDefault(Locale.UK);
會給我歐元符號,但對於美元,它會給代碼而不是美元符號($)。
我得到'USD'而不是'$',最新的Java 7在Windows 7上我的默認的語言環境是英國人,但是。對於德國我看到一個歐元符號,對於英國我看到一個英鎊符號。 – 2013-02-27 07:39:58
你使用的是什麼版本的Java? – 2013-02-27 07:42:49
如果我設置'Locale.setDefault(Locale.US);',我會得到和你一樣的結果。 – 2013-02-27 07:42:53