Назад к блогу

Коды валют ISO 4217: Полное руководство для разработчиков

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

Коды валют ISO 4217: Полное руководство для разработчиков

Если вы когда-либо разрабатывали платёжную систему, интегрировали API обменных курсов или отображали цены в нескольких валютах, вы уже сталкивались с кодами валют ISO 4217 — осознавали ли вы это или нет. Трёхбуквенные коды USD, EUR, JPY и GBP — это универсальный язык денег в разработке программного обеспечения. Понимание того, как они работают, откуда берутся и как их правильно использовать, необходимо каждому разработчику, создающему финансовые приложения.

Это руководство охватывает всё, что вам нужно знать: структуру кодов валют, справочный список наиболее часто используемых валют мира, работу с дробными единицами и специальными кодами, а также интеграцию с документацией API Finexly для получения курсов в реальном времени.


Что такое ISO 4217?

ISO 4217 — это международный стандарт, опубликованный Международной организацией по стандартизации (ISO), который определяет коды для представления мировых валют. Впервые введённый в 1978 году, сегодня он используется повсеместно в банковских системах, финансовом программном обеспечении, платформах электронной коммерции, платёжных системах и API обменных курсов.

Стандарт служит трём ключевым целям:

  • Устранить неоднозначность — «доллар» может означать американский, канадский, австралийский или десятки других. USD, CAD, AUD — однозначны.
  • Обеспечить автоматизированную обработку — Буквенные и числовые коды позволяют системам с различной поддержкой кодировок надёжно обрабатывать данные о валютах.
  • Поддержать международную совместимость — Любая совместимая система может обмениваться финансовыми данными без пользовательских преобразований.

Стандарт поддерживается группой SIX от имени ISO и Швейцарской ассоциации по стандартизации.


Понимание структуры кодов

Буквенные коды (Alpha-3)

Каждый буквенный код ISO 4217 состоит ровно из трёх заглавных ASCII-букв. Структура продуманна:

  • Первые две буквы — производные от кода страны ISO 3166-1 alpha-2 (например, US для США, JP для Японии, GB для Великобритании)
  • Третья буква — обычно первая буква названия валюты (например, D для Dollar, Y для Yen, P для Pound)

Таким образом, USD = США (US) + Доллар (D). JPY = Япония (JP) + Иена (Y). GBP = Великобритания (GB) + Фунт (P).

Числовые коды

Каждая валюта также имеет трёхзначный числовой код (например, 840 для USD, 978 для EUR, 826 для GBP). Эти коды особенно полезны в системах, не поддерживающих латинские символы.

Дробные единицы (Знаки после запятой)

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
ARSАргентинское песоАргентина0322

Европа

КодВалютаСтрана/РегионЧисловой кодЗнаков
EURЕвроЕврозона9782
GBPБританский фунт стерлинговВеликобритания8262
CHFШвейцарский франкШвейцария7562
NOKНорвежская кронаНорвегия5782
SEKШведская кронаШвеция7522
PLNПольский злотыйПольша9852
TRYТурецкая лираТурция9492
RUBРоссийский рубльРоссия6432

Азиатско-Тихоокеанский регион

КодВалютаСтранаЧисловой кодЗнаков
JPYЯпонская иенаЯпония3920
CNYКитайский юаньКитай1562
HKDГонконгский долларГонконг3442
SGDСингапурский долларСингапур7022
AUDАвстралийский долларАвстралия0362
KRWЮжнокорейская вонаЮжная Корея4100
INRИндийская рупияИндия3562

Использование кодов валют с API Finexly

API Finexly поддерживает более 170 кодов валют ISO 4217. Вот как получить обменные курсы в реальном времени:

cURL

curl "https://finexly.com/api/latest?base=USD&symbols=EUR,GBP,JPY,RUB,CNY" \
  -H "Authorization: Bearer ВАШ_API_КЛЮЧ"

JavaScript

const BASE_CURRENCY = 'USD';
const TARGET_CURRENCIES = ['EUR', 'GBP', 'JPY', 'RUB', 'CNY'];

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.RUB} RUB`);
});

Python

import requests

API_KEY = "ВАШ_API_КЛЮЧ"
BASE = "USD"
TARGETS = ["EUR", "GBP", "JPY", "RUB", "CNY"]

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 = 'ru-RU') {
  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(1234.56, 'RUB', 'ru-RU')); // 1 234,56 ₽
console.log(formatCurrency(1500, 'JPY', 'ja-JP'));     // ¥1 500

Распространённые ошибки разработчиков

Ошибка 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

Часто задаваемые вопросы

В чём разница между кодом валюты и символом валюты? Код валюты — это стандартизированный трёхбуквенный идентификатор (например, USD), определённый ISO 4217, тогда как символ валюты — это типографическое сокращение (например, $, , £). Символы варьируются в зависимости от локали, тогда как коды валют всегда однозначны.

Сколько кодов валют ISO 4217 существует? По состоянию на 2026 год существует около 180 активных кодов валют. Finexly поддерживает более 170 из них для запросов обменных курсов в реальном времени.

Могу ли я использовать коды валют с бесплатным планом Finexly? Да — бесплатный план предоставляет доступ ко всем поддерживаемым кодам валют ISO 4217 с до 1000 API-запросов в месяц.

Почему японская иена (JPY) не имеет знаков после запятой? Иена была децимализирована иначе, чем большинство валют. Хотя технически существует субъединица «сен» (1/100 иены), на практике сены больше не используются.

Какой код валюты следует использовать для евро во всех странах еврозоны? Всегда используйте EUR — это один и тот же код валюты независимо от того, совершается ли транзакция в Германии, Франции, Испании, Италии или любой другой стране еврозоны.


Готовы интегрировать обменные курсы в реальном времени в свой проект? Получите бесплатный API-ключ Finexly — кредитная карта не требуется. Начните с 1000 бесплатных запросов в месяц и получите доступ к курсам в реальном времени для более чем 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 →