ブログに戻る

ISO 4217通貨コード:開発者向け完全ガイド

V
Vlado Grigirov
April 04, 2026
"Currency API" "Exchange Rates" "Finexly" "ISO 4217" "Developer Guide" "Currency Codes"

ISO 4217通貨コード:開発者向け完全ガイド

決済システムの構築、為替レートAPIの統合、または複数通貨での価格表示を行ったことがあれば、すでにISO 4217通貨コードに出会っているはずです——気づいていなかったとしても。USDEURJPYGBPなどの3文字コードは、ソフトウェア開発における金融の共通言語です。これらがどのように機能するか、どこから来るか、そして正しく使用する方法を理解することは、金融アプリケーションを構築するすべての開発者にとって不可欠です。

このガイドでは、通貨コードの構造、世界で最もよく使われる通貨のリファレンス、小数単位と特殊コードの扱い方、そしてFinexly APIドキュメントを使ったリアルタイム為替レートの統合方法まで、知っておくべきすべてを網羅しています。


ISO 4217とは?

ISO 4217は、国際標準化機構(ISO)が発行した国際標準で、世界の通貨を表すコードを定義しています。1978年に初めて導入され、現在は銀行システム、金融ソフトウェア、Eコマースプラットフォーム、決済処理業者、および為替レートAPIで世界中に使用されています。

この標準は3つの主要な目的を果たします:

  • 曖昧さを排除する — 「ドル」は米ドル、カナダドル、オーストラリアドルなど数十種類を指す可能性があります。USDCADAUDは明確で一意です。
  • 自動処理を可能にする — アルファベットコードと数字コードにより、異なる文字セットを持つシステムでも通貨データを確実に処理できます。
  • 国際的な相互運用性を支援する — 標準に準拠したシステムはカスタムマッピングなしで財務データを交換できます。

この標準は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米ドルアメリカ合衆国8402
CADカナダドルカナダ1242
MXNメキシコペソメキシコ4842
BRLブラジルレアルブラジル9862

ヨーロッパ

コード通貨国/地域数字コード小数桁数
EURユーロユーロ圏9782
GBP英ポンドイギリス8262
CHFスイスフランスイス7562
NOKノルウェークローネノルウェー5782
SEKスウェーデンクローナスウェーデン7522
PLNポーランドズウォティポーランド9852

アジア太平洋

コード通貨数字コード小数桁数
JPY日本円日本3920
CNY中国人民元中国1562
HKD香港ドル香港3442
SGDシンガポールドルシンガポール7022
AUDオーストラリアドルオーストラリア0362
KRW韓国ウォン韓国4100
INRインドルピーインド3562
TWD台湾ドル台湾9012

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通貨のリアルタイムレートにアクセスできます。ビジネスの成長に合わせてアップグレードしてください。

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 →

この記事を共有する