貨幣代碼(ISO 4217)
做結帳表單、匯率表或匯出發票時很實用。
| 貨幣 | 代碼 | 符號 | 小數位 |
|---|---|---|---|
| 美元 | USD | $ | 2 |
| 歐元 | EUR | € | 2 |
| 英鎊 | GBP | £ | 2 |
| 日圓 | JPY | ¥ | 0 |
| 人民幣 | CNY | ¥ / 元 | 2 |
| 港幣 | HKD | HK$ | 2 |
| 新台幣 | TWD | NT$ | 2 |
| 韓元 | KRW | ₩ | 0 |
| 瑞士法郎 | CHF | CHF | 2 |
| 加元 | CAD | C$ | 2 |
| 澳元 | AUD | A$ | 2 |
| 紐西蘭元 | NZD | NZ$ | 2 |
| 新加坡元 | SGD | S$ | 2 |
| 印度盧比 | INR | ₹ | 2 |
| 印尼盾 | IDR | Rp | 2 |
| 泰銖 | THB | ฿ | 2 |
| 越南盾 | VND | ₫ | 0 |
| 馬來西亞令吉 | MYR | RM | 2 |
| 菲律賓比索 | PHP | ₱ | 2 |
| 巴西雷亞爾 | BRL | R$ | 2 |
| 墨西哥比索 | MXN | Mex$ | 2 |
| 阿根廷比索 | ARS | $ | 2 |
| 土耳其里拉 | TRY | ₺ | 2 |
| 俄羅斯盧布 | RUB | ₽ | 2 |
| 沙烏地里亞爾 | SAR | ﷼ | 2 |
| 阿聯酋迪拉姆 | AED | د.إ | 2 |
| 南非蘭特 | ZAR | R | 2 |
| 波蘭茲羅提 | PLN | zł | 2 |
| 瑞典克朗 | SEK | kr | 2 |
| 挪威克朗 | NOK | kr | 2 |
| 丹麥克朗 | DKK | kr | 2 |
說明
- 小數位依 ISO 4217 對現金金額的慣例;加密貨幣等帳本可能不同。
- 顯示符號會重複(如 $),儲存請務必使用三字代碼。
ISO 4217 究竟規範了什麼
ISO 4217 是國際標準,為每種貨幣指定一個三字母代碼、一個數字代碼以及明確的小數位數。這些字母並非隨機編排:前兩個字母通常代表國家或地區,第三個字母則代表貨幣名稱,例如 USD 代表美國美元、JPY 代表日本日元、EUR 代表歐元。該標準還確定了輔幣單位——也就是小數點後的位數——這是軟體正確四捨五入金額的依據。當系統說「儲存代碼」時,指的是 ISO 4217 的字母代碼,而非貨幣符號;正是這個區別避免了整類支付錯誤。
為什麼符號永遠不夠
貨幣符號容易產生歧義,而代碼則不會。美元符號用於美國、加拿大、澳洲、紐西蘭、香港和新加坡等多個美元體系;日圓和人民幣的符號會重疊;英鎊符號則同時涵蓋英鎊和其他多種貨幣。寫成 "$10" 的價格完全無法告訴你指的是哪種貨幣。在發票、API 和資料庫中,儲存三字母代碼能徹底消除歧義,符號則變成顯示時才根據目標客群選擇的呈現層面。處理跨境貨幣的系統,簡單的原則是:儲存代碼,渲染符號。
輔幣單位、指數與四捨五入
小數位數是貨幣本身的屬性,而非全域設定。大多數貨幣使用兩位小數,因此 USD、EUR、GBP 和 CNY 都以分為輔幣單位。但日圓和韓國韓圜沒有輔幣單位——JPY 100 就是一百日元,沒有小數部分——而少數以第納爾為單位的貨幣,包括科威特第納爾、巴林第納爾、阿曼里亞爾和突尼西亞第納爾,則使用三位小數。某些貨幣在現金交易和帳務記賬上還會有不同的輔幣單位設定。跨這些情況錯誤四捨五入可能造成百倍級的差異,因此務必從標準中讀取指數,而不預設為兩位小數。
簡短的代碼,長長的例外清單
除了參考表中寥寥幾種主要貨幣之外,還有許多棘手的案例。貨幣會經歷面值調整——例如津巴布韋已刪除過多次零——而已被取代的代碼仍會留存在歷史記錄中。某些領土直接使用他國貨幣,因此當地根本沒有代碼。加密貨幣刻意脫離 ISO 4217 標準,使用自己的代號,所以同時處理兩者的帳本必須知道自己處於哪個命名空間中。此外,還有少數貨幣在不同國家共享同一名稱,卻擁有不同的代碼與幣值。最實用的結論是:代碼才是穩定的識別符,而符號、名稱甚至小數位數都可能隨時間改變。
常見問題
- EUR 是哪種貨幣的代碼?
- EUR 是歐元的 ISO 4217 代碼,多數歐盟國家使用歐元,符號為 €。
- 日本的貨幣代碼是什麼?
- 日圓的 ISO 4217 代碼是 JPY,符號為 ¥,沒有小數位。
- 為什麼要儲存三字貨幣代碼而不是符號?
- 符號會重複,例如 $ 可指美元、加幣、澳幣等多種貨幣;三字 ISO 4217 代碼沒有歧義。