2016-05-12 391 views
1

我正在嘗試使用Intl.NumberFormat編寫貨幣格式化函數。 當我將美元或歐元作爲貨幣傳遞給它時,它會正常工作,但當我將更隱蔽的貨幣代碼(如PLN或COL)傳遞給它時,它似乎會中斷,而不是按要求顯示它們的符號以顯示代碼。它清楚地識別代碼,因爲當我問它顯示的名稱,而不是它正常工作:瀏覽器intl.NumberFormat不正確顯示貨幣符號

Intl.NumberFormat("en-US",{ 
    style:'currency', 
    minimumIntegerDigits:1, 
    currency: 'PLN', 
    currencyDisplay: 'symbol' 
}).format(43); 

顯示「PLN43」,而

Intl.NumberFormat("en-US",{ 
    style:'currency', 
    minimumIntegerDigits:1, 
    currency: 'PLN', 
    currencyDisplay: 'name' 
}).format(43); 

顯示「43.00波蘭茲羅提」

+0

首先無法檢查,但如果在上面的示例中將pl-PL指定爲第一個參數,會發生什麼情況? –

回答

-1

根據到spec

但是,貨幣代碼和語言標記組合哪些本地化貨幣符號可用是依賴於實施的。在沒有本地化貨幣符號的情況下,ISO 4217貨幣代碼用於格式化。

+0

「不可用」是指什麼?有沒有地方可以爲這些ISO代碼貢獻貨幣符號,以便我可以繼續使用此格式化程序,還是必須提供替代解決方案? –

+0

我可能會建議可用[unicode中存在的符號](http://www.fileformat.info/info/unicode/category/Sc/list.htm)。 –