ISO 4217通貨コード:開発者向け完全ガイド
決済システムの構築、為替レートAPIの統合、または複数通貨での価格表示を行ったことがあれば、すでにISO 4217通貨コードに出会っているはずです——気づいていなかったとしても。USD、EUR、JPY、GBPなどの3文字コードは、ソフトウェア開発における金融の共通言語です。これらがどのように機能するか、どこから来るか、そして正しく使用する方法を理解することは、金融アプリケーションを構築するすべての開発者にとって不可欠です。
このガイドでは、通貨コードの構造、世界で最もよく使われる通貨のリファレンス、小数単位と特殊コードの扱い方、そしてFinexly APIドキュメントを使ったリアルタイム為替レートの統合方法まで、知っておくべきすべてを網羅しています。
ISO 4217とは?
ISO 4217は、国際標準化機構(ISO)が発行した国際標準で、世界の通貨を表すコードを定義しています。1978年に初めて導入され、現在は銀行システム、金融ソフトウェア、Eコマースプラットフォーム、決済処理業者、および為替レートAPIで世界中に使用されています。
この標準は3つの主要な目的を果たします:
- 曖昧さを排除する — 「ドル」は米ドル、カナダドル、オーストラリアドルなど数十種類を指す可能性があります。
USD、CAD、AUDは明確で一意です。 - 自動処理を可能にする — アルファベットコードと数字コードにより、異なる文字セットを持つシステムでも通貨データを確実に処理できます。
- 国際的な相互運用性を支援する — 標準に準拠したシステムはカスタムマッピングなしで財務データを交換できます。
この標準はSIXグループがISO及びスイス規格化協会に代わって管理しています。
コード構造の理解
アルファベットコード(Alpha-3)
各ISO 4217アルファベットコードはちょうど3つの大文字ASCII文字で構成されています:
- 最初の2文字 — ISO 3166-1 alpha-2国コードから派生(例:
US=アメリカ、JP=日本、GB=英国) - 3文字目 — 通常は通貨名の頭文字(例:
D=Dollar、Y=Yen、P=Pound)
したがって、USD = アメリカ(US) + ドル(D)。JPY = 日本(JP) + 円(Y)。GBP = 英国(GB) + ポンド(P)。
数字コード
各通貨には3桁の数字コードもあります(例:USDは840、EURは978、GBPは826)。これらの数字コードはラテン文字を扱わないシステムで特に役立ちます。
小数単位(小数点以下の桁数)
ISO 4217は各通貨の小数点以下の桁数(小数単位)も規定しています:
| 小数桁数 | 通貨の例 |
|---|---|
| 0 | 日本円(JPY)、韓国ウォン(KRW)、チリペソ(CLP) |
| 2 | 米ドル(USD)、ユーロ(EUR)、英ポンド(GBP) |
| 3 | クウェートディナール(KWD)、バーレーンディナール(BHD)、オマーンリアル(OMR) |
¥1999を¥19.99と表示すると、99倍の価格エラーが発生します。主要世界通貨リファレンス表
アメリカ大陸
| コード | 通貨 | 国 | 数字コード | 小数桁数 |
|---|---|---|---|---|
| USD | 米ドル | アメリカ合衆国 | 840 | 2 |
| CAD | カナダドル | カナダ | 124 | 2 |
| MXN | メキシコペソ | メキシコ | 484 | 2 |
| BRL | ブラジルレアル | ブラジル | 986 | 2 |
ヨーロッパ
| コード | 通貨 | 国/地域 | 数字コード | 小数桁数 |
|---|---|---|---|---|
| EUR | ユーロ | ユーロ圏 | 978 | 2 |
| GBP | 英ポンド | イギリス | 826 | 2 |
| CHF | スイスフラン | スイス | 756 | 2 |
| NOK | ノルウェークローネ | ノルウェー | 578 | 2 |
| SEK | スウェーデンクローナ | スウェーデン | 752 | 2 |
| PLN | ポーランドズウォティ | ポーランド | 985 | 2 |
アジア太平洋
| コード | 通貨 | 国 | 数字コード | 小数桁数 |
|---|---|---|---|---|
| JPY | 日本円 | 日本 | 392 | 0 |
| CNY | 中国人民元 | 中国 | 156 | 2 |
| HKD | 香港ドル | 香港 | 344 | 2 |
| SGD | シンガポールドル | シンガポール | 702 | 2 |
| AUD | オーストラリアドル | オーストラリア | 036 | 2 |
| KRW | 韓国ウォン | 韓国 | 410 | 0 |
| INR | インドルピー | インド | 356 | 2 |
| TWD | 台湾ドル | 台湾 | 901 | 2 |
Finexly APIでの通貨コードの使用方法
Finexly APIは170以上のISO 4217通貨コードをサポートしています。リアルタイム為替レートを取得する方法を示します:
cURL
curl "https://finexly.com/api/latest?base=USD&symbols=EUR,GBP,JPY,CNY,AUD" \
-H "Authorization: Bearer あなたのAPIキー"JavaScript
const BASE_CURRENCY = 'USD';
const TARGET_CURRENCIES = ['EUR', 'GBP', 'JPY', 'CNY', 'AUD'];
async function getExchangeRates() {
const symbols = TARGET_CURRENCIES.join(',');
const url = `https://finexly.com/api/latest?base=${BASE_CURRENCY}&symbols=${symbols}`;
const response = await fetch(url, {
headers: { 'Authorization': 'Bearer あなたのAPIキー' }
});
const data = await response.json();
return data.rates;
}
getExchangeRates().then(rates => {
console.log(`1 USD = ${rates.EUR} EUR`);
console.log(`1 USD = ${rates.JPY} JPY`);
});Python
import requests
API_KEY = "あなたのAPIキー"
BASE = "USD"
TARGETS = ["EUR", "GBP", "JPY", "CNY", "AUD"]
response = requests.get(
"https://finexly.com/api/latest",
params={"base": BASE, "symbols": ",".join(TARGETS)},
headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()
for code, rate in data["rates"].items():
print(f"1 {BASE} = {rate} {code}")ロケール別の通貨フォーマット
function formatCurrency(amount, currencyCode, locale = 'ja-JP') {
return new Intl.NumberFormat(locale, {
style: 'currency',
currency: currencyCode,
}).format(amount);
}
console.log(formatCurrency(1234.56, 'USD', 'en-US')); // $1,234.56
console.log(formatCurrency(1234.56, 'EUR', 'de-DE')); // 1.234,56 €
console.log(formatCurrency(1500, 'JPY', 'ja-JP')); // ¥1,500(小数なし)
console.log(formatCurrency(1234.56, 'CNY', 'zh-CN')); // ¥1,234.56開発者がよく犯す間違い
間違い1:通貨を浮動小数点数として保存する
# ❌ 間違い — 浮動小数点エラーが問題を引き起こします
total = 19.99 * 1.20 # 23.988000000000003
# ✅ 正しい — 小数単位の整数を使用する
price_cents = 1999 # $19.99をセントとして保存間違い2:すべての通貨が2桁の小数を持つと仮定する
// ❌ 間違い
formatJPY(1500) // "1500.00 JPY" — 誤り!
// ✅ 正しい
new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(1500); // ¥1,500よくある質問
通貨コードと通貨記号の違いは何ですか?
通貨コードはISO 4217で定義された標準化された3文字の識別子(例:USD)であり、通貨記号は$、€、£などの表記略記号です。記号はロケールによって異なりますが、通貨コードは常に明確で一意です。
ISO 4217の通貨コードはいくつありますか? 2026年現在、約180のアクティブな通貨コードがあります。Finexlyはリアルタイムの為替レートクエリのために170以上をサポートしています。
Finexlyの無料プランで通貨コードを使用できますか? はい——無料プランでは、すべてのサポートされているISO 4217通貨コードに月1,000回のAPIリクエストまでアクセスできます。
なぜ日本円(JPY)には小数点以下の桁数がないのですか? 円は多くの通貨とは異なる方法で小数化されました。技術的には「銭」(円の1/100)というサブユニットがありますが、現在は実用的に使われていません。そのため、JPYは実質的に小数ゼロの通貨です。
ユーロ圏のすべての国でどの通貨コードを使用すべきですか?
常にEURを使用してください——ドイツ、フランス、スペイン、イタリアなど、どのユーロ圏の国でも同じコードです。
リアルタイムの為替レートをプロジェクトに統合する準備はできていますか?Finexlyの無料APIキーを取得——クレジットカード不要。月1,000回の無料リクエストから始め、170以上のISO 4217通貨のリアルタイムレートにアクセスできます。ビジネスの成長に合わせてアップグレードしてください。
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →