Retour au blog

Codes de Devise ISO 4217 : Le Guide Complet pour les Développeurs

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

Codes de Devise ISO 4217 : Le Guide Complet pour les Développeurs

Si vous avez déjà développé un système de paiement, intégré une API de taux de change ou affiché des prix dans plusieurs devises, vous avez déjà rencontré les codes de devise ISO 4217 — que vous le sachiez ou non. Ces codes à trois lettres comme USD, EUR, JPY et GBP constituent le langage universel de l'argent dans le développement logiciel. Comprendre leur fonctionnement, leur origine et comment les utiliser correctement est essentiel pour tout développeur créant des applications financières.

Ce guide couvre tout ce que vous devez savoir : la structure des codes de devise, une liste de référence des devises les plus utilisées dans le monde, comment gérer les sous-unités et les codes spéciaux, et comment les intégrer à la documentation de l'API Finexly pour obtenir des taux de change en temps réel.


Qu'est-ce qu'ISO 4217 ?

ISO 4217 est une norme internationale publiée par l'Organisation internationale de normalisation (ISO) qui définit des codes pour représenter les devises du monde. Introduite pour la première fois en 1978, elle est désormais utilisée universellement dans les systèmes bancaires, les logiciels financiers, les plateformes de e-commerce, les processeurs de paiement et les API de change.

La norme remplit trois objectifs clés :

  • Éliminer l'ambiguïté — « dollar » peut désigner le dollar américain, canadien, australien ou des dizaines d'autres. USD, CAD, AUD sont sans équivoque.
  • Permettre le traitement automatisé — Les codes alphabétiques et numériques permettent aux systèmes avec différentes compatibilités de jeux de caractères de gérer les données de devise de manière fiable.
  • Soutenir l'interopérabilité internationale — Tout système conforme peut échanger des données financières sans mappages personnalisés.

La norme est maintenue par SIX Group au nom de l'ISO et de l'Association suisse de normalisation.


Comprendre la Structure des Codes

Codes Alphabétiques (Alpha-3)

Chaque code alphabétique ISO 4217 est exactement trois lettres ASCII majuscules. La structure est délibérée :

  • Deux premières lettres — Dérivées du code pays ISO 3166-1 alpha-2 (p.ex., US pour les États-Unis, JP pour le Japon, GB pour la Grande-Bretagne)
  • Troisième lettre — Généralement la première lettre du nom de la devise (p.ex., D pour Dollar, Y pour Yen, P pour Pound)

Ainsi, USD = États-Unis (US) + Dollar (D). JPY = Japon (JP) + Yen (Y). GBP = Grande-Bretagne (GB) + Livre (P).

Codes Numériques

Chaque devise possède également un code numérique à trois chiffres (p.ex., 840 pour USD, 978 pour EUR, 826 pour GBP). Ces codes sont particulièrement utiles dans les systèmes qui ne gèrent pas les caractères latins.

Sous-unités (Décimales)

ISO 4217 spécifie également le nombre de décimales pour chaque devise. La plupart utilisent 2 décimales (p.ex., 1,99 €), mais il existe des exceptions importantes :

DécimalesExemples de Devises
0Yen japonais (JPY), Won coréen (KRW), Peso chilien (CLP)
2Dollar américain (USD), Euro (EUR), Livre sterling (GBP)
3Dinar koweïtien (KWD), Dinar bahreïni (BHD), Rial omanais (OMR)
Cela est crucial dans les logiciels : si vous formatez ¥1999 comme ¥19,99, vous avez introduit une erreur de prix de 99 fois. Vérifiez toujours le nombre correct de décimales pour toute devise supportée par votre application.


Tableau de Référence des Principales Devises Mondiales

Amériques

CodeDevisePaysNumériqueDécimales
USDDollar américainÉtats-Unis8402
CADDollar canadienCanada1242
MXNPeso mexicainMexique4842
BRLReal brésilienBrésil9862

Europe

CodeDevisePays/RégionNumériqueDécimales
EUREuroZone euro9782
GBPLivre sterlingRoyaume-Uni8262
CHFFranc suisseSuisse7562
NOKCouronne norvégienneNorvège5782
SEKCouronne suédoiseSuède7522
PLNZłoty polonaisPologne9852

Asie-Pacifique

CodeDevisePaysNumériqueDécimales
JPYYen japonaisJapon3920
CNYYuan chinoisChine1562
HKDDollar de Hong KongHong Kong3442
SGDDollar de SingapourSingapour7022
AUDDollar australienAustralie0362
KRWWon sud-coréenCorée du Sud4100
INRRoupie indienneInde3562

Codes Spéciaux et Non Standards

ISO 4217 inclut des codes spéciaux qui ne correspondent pas aux devises nationales traditionnelles. Ils commencent par X (pour « extra ») :

CodeDescription
XAUOr (once troy)
XAGArgent (once troy)
XTSCode réservé aux tests
XXXAucune devise
XDRDroits de tirage spéciaux (FMI)

Utilisation des Codes de Devise avec l'API Finexly

L'API Finexly prend en charge plus de 170 codes de devise ISO 4217. Voici comment récupérer les taux de change en temps réel :

cURL

curl "https://finexly.com/api/latest?base=USD&symbols=EUR,GBP,JPY,CAD,AUD" \
  -H "Authorization: Bearer VOTRE_CLE_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 VOTRE_CLE_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 = "VOTRE_CLE_API"
BASE = "USD"
TARGETS = ["EUR", "GBP", "JPY", "CNY", "BRL"]

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}")


Formatage des Devises par Locale

function formatCurrency(amount, currencyCode, locale = 'fr-FR') {
  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', 'fr-FR')); // 1 234,56 €
console.log(formatCurrency(1234.56, 'GBP', 'en-GB')); // £1,234.56
console.log(formatCurrency(1500, 'JPY', 'ja-JP'));     // ¥1 500

Erreurs Courantes avec les Codes de Devise

Erreur 1 : Stocker les devises comme des nombres à virgule flottante

# ❌ INCORRECT — les erreurs de virgule flottante poseront problème
total = 19.99 * 1.20  # 23.988000000000003

# ✅ CORRECT — utilisez des entiers en sous-unités
price_cents = 1999  # 19,99 € stocké en centimes

Erreur 2 : Supposer que toutes les devises ont 2 décimales

// ❌ INCORRECT
formatJPY(1500)  // "1500.00 JPY" — FAUX

// ✅ CORRECT
new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(1500); // ¥1 500

Questions Fréquemment Posées

Quelle est la différence entre un code de devise et un symbole de devise ? Un code de devise est un identifiant standardisé à trois lettres (p.ex., USD) défini par ISO 4217, tandis qu'un symbole de devise est une abréviation typographique (p.ex., $, , £). Les symboles varient selon le locale. Les codes de devise sont toujours sans ambiguïté.

Combien de codes de devise ISO 4217 existe-t-il ? À partir de 2026, il existe environ 180 codes de devise actifs. Finexly en prend en charge plus de 170 pour les requêtes de taux de change en temps réel.

Puis-je utiliser les codes de devise avec le plan gratuit de Finexly ? Oui — le plan gratuit vous donne accès à tous les codes de devise ISO 4217 compatibles avec jusqu'à 1 000 requêtes API par mois.

Pourquoi le Yen japonais (JPY) n'a-t-il pas de décimales ? Le Yen a été décimalisé différemment de la plupart des devises. Bien qu'il ait techniquement une sous-unité appelée « sen » (1/100 de Yen), les sen ne sont plus utilisés en pratique.

Quel code de devise utiliser pour l'Euro dans tous les pays de la zone euro ? Utilisez toujours EUR — c'est le même code de devise que la transaction soit en Allemagne, France, Espagne, Italie ou tout autre pays de la zone euro.


Prêt à intégrer des taux de change en temps réel dans votre projet ? Obtenez votre clé API Finexly gratuite — sans carte de crédit requise. Commencez avec 1 000 requêtes gratuites par mois et accédez aux taux en temps réel pour plus de 170 devises ISO 4217. Passez à un plan supérieur à mesure que vos besoins augmentent.

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 →

Partager cet article