Aussi disponible en : English · Español · Português · العربية
Symboles monétaires
Les 178 devises avec leurs symboles, leurs codes et leurs décimales, et un exposé honnête de ce qui rend le symbole si peu fiable.
Que sont les symboles monétaires ?
Un symbole monétaire est la marque que l’on écrit à côté d’un montant : $, €, £, ¥. Tout le monde sait de quoi il s’agit, et presque tous les tableaux de symboles que l’on trouve sur le web s’affichent sous l’étiquette « ISO 4217 ». Cette attribution est fausse, et de façon intéressante : la norme ISO 4217 ne définit pas un seul symbole.
Elle est tenue par SIX Financial Information pour le compte de l’ISO, et sa liste publiée comporte exactement cinq champs par entrée : nom du pays, nom de la devise, code alphabétique à trois lettres, code numérique à trois chiffres, et nombre d’unités mineures. Aucune colonne de symbole. Nous le vérifions dans le générateur plutôt que de le supposer : si une édition future en ajoutait une, la compilation échouerait au lieu de laisser la page devenir discrètement fausse.
D’où viennent alors les symboles ? D’Unicode CLDR, les mêmes données que votre système et votre navigateur utilisent pour mettre en forme de l’argent. C’est une autorité d’une autre nature répondant à une autre question : l’ISO dit comment une devise s’appelle et comment elle se divise ; le CLDR dit comment on l’écrit à tel endroit. Cette page porte les deux, côte à côte, seule manière honnête de les présenter.
Le tableau couvre les 178 codes de la liste ISO en vigueur, y compris ceux que l’on oublie : l’or est XAU, le droit de tirage spécial du FMI est XDR, et XXX est le code qui signifie formellement « aucune devise ».
Comment utiliser cette page
- Cherchez une devise par ce que vous en savez. Le champ trouve par nom, code à trois lettres, code numérique et symbole. Les correspondances exactes de code passent devant, ce qui compte plus qu’il n’y paraît : sans cela, chercher « eur » renverrait l’euro WIR et quatre unités de compte européennes avant l’euro lui-même.
- Changez de variante pour voir le symbole bouger. Le sélecteur change le lecteur auquel les symboles s’adressent. Observez le dollar australien pendant l’opération : A$ pour un Américain, un simple $ pour un Australien, AU$ pour un Canadien et « $ AU » en français. La même devise, six écritures différentes sur treize variantes.
- Cliquez sur un code ou un symbole pour le copier. Tout le tableau est fait de boutons de copie. Rien n’est envoyé au passage : le jeu de données se trouve déjà dans votre navigateur.
Le symbole dépend de qui lit
Voilà le fait qui met à mal presque tous les tableaux de devises. Un symbole n’est pas une propriété de la devise : c’est une propriété de la devise et du lecteur ensemble. Sur treize variantes seulement, 60 des 178 devises — environ un tiers — s’écrivent de plusieurs façons.
Le dollar australien est le cas le plus net, avec six écritures distinctes : A$, $, AUD, AU$, $AU et « $ AU ». Le dollar américain en a cinq, le canadien quatre. L’euro lui-même n’est pas universel : c’est € presque partout, mais l’anglais d’Australie et l’espagnol du Mexique l’écrivent avec le code EUR tout court, parce qu’il y est une devise étrangère qui gagne à être nommée.
Le CLDR publie en réalité deux symboles par devise pour cette raison précise. Il y a une forme courte — le minimum dont un lecteur local a besoin, soit simplement $ pour le dollar australien en Australie — et une forme non ambiguë qui ajoute le préfixe nécessaire pour ne pas le confondre avec le dollar d’un autre. Les deux colonnes figurent ci-dessus. La courte convient au sein d’un prix, sur une page où la devise va de soi ; la longue, dans une liste où elle ne va pas de soi.
Un détail à connaître si vous comparez un jour des symboles comme des chaînes : le yen n’est pas le même caractère partout. Hors du Japon c’est U+00A5, le signe yen. En japonais c’est U+FFE5, le signe yen pleine chasse, un autre point de code d’aspect quasi identique. Une comparaison octet à octet du « symbole du yen » échoue entre ces deux variantes, et aucun nettoyage d’espaces n’y changera rien.
Les symboles se télescopent, et souvent n’existent pas
En anglais, le symbole court $ vaut pour 29 devises différentes. Pas seulement les dollars américain, australien et canadien, mais aussi ceux d’Argentine, des Bahamas, de la Barbade, du Belize, des Bermudes, de Brunei, du Chili, de Colombie, de Cuba, des Fidji, du Guyana, de Hong Kong, de la Jamaïque, du Liberia, du Mexique, de Namibie, de Nouvelle-Zélande, de Singapour, des Salomon, du Suriname, de Taïwan, de Trinité et d’Uruguay, plus le dollar des Caraïbes orientales et celui des îles Caïmans.
Ce n’est pas le seul. Le signe livre vaut pour six devises, « kr » pour les couronnes danoise, islandaise, norvégienne et suédoise, « Rs » pour les roupies srilankaise, mauricienne, népalaise et pakistanaise, ¥ à la fois pour le yuan chinois et le yen japonais, et ₩ pour les deux Corées. Un symbole n’est donc jamais sûr comme identifiant. Le code à trois lettres, si — et c’est toute la raison d’être de l’ISO 4217.
L’autre moitié du problème est plus discrète : 78 des 178 devises n’ont aucun symbole en anglais. Le CLDR écrit simplement le code, faute de marque distinctive d’usage courant. Si vous avez déjà construit une liste déroulante affichant un symbole à côté de chaque devise, près de quarante pour cent de vos lignes affichaient le code en le faisant passer pour un symbole. Cette page les énumère au lieu de masquer le trou.
Toutes les devises n’ont pas deux décimales
Deux décimales est l’usage courant, et c’est loin d’être universel. Sur les 178 codes, l’ISO en accorde deux à 139, aucune à 17, trois à sept et quatre à deux. Le yen japonais, le won sud-coréen et la couronne islandaise n’ont pas de subdivision : un montant en yens avec une virgule est donc tout simplement faux. Les dinars bahreïni, irakien, jordanien, koweïtien, libyen, omanais et tunisien se divisent en mille, si bien qu’un prix koweïtien porte trois décimales. L’unidad de fomento chilienne et l’indice uruguayen en portent quatre.
Tout système stockant de l’argent dans une colonne fixe à deux décimales se trompe des deux côtés : il ne peut représenter exactement un dinar koweïtien et il invite un demi-yen qui ne peut pas exister. La solution est de stocker des unités mineures en entier, accompagnées du code, et la colonne des décimales donne le nombre nécessaire pour le faire.
Une complication plus subtile existe, et cette page la montre plutôt que de trancher. L’ISO et l’Unicode divergent sur les décimales de seize devises. Toutes les divergences ont la même forme — l’Unicode dit zéro là où l’ISO dit deux ou trois — et une seule cause : la subdivision existe en droit, mais l’inflation l’a vidée de sa valeur et plus personne ne l’écrit. Le cas le plus net est le dinar irakien, légalement divisé en mille fils qui ne circulent plus. L’ISO a raison sur le droit et l’Unicode sur l’usage ; lequel vous voulez dépend de si vous soldez un contrat ou imprimez un prix.
Limites honnêtes
Ceci est un instantané d’une liste qui bouge. Le fichier ISO dont il est issu porte sa propre date de publication, et les codes changent quand un pays redénomine sa monnaie ou rejoint une union monétaire. Rien n’est téléchargé à l’exécution : un changement postérieur à la construction de la page n’y figure pas. Le générateur est dans le dépôt et régénérer tient en une commande.
Les deux sources divergent aussi sur l’appartenance, pas seulement sur les décimales. La liste de codes d’Unicode compte 162 entrées là où celle de l’ISO en compte 178. Les 22 codes qu’elle omet sont surtout des fonds, des métaux précieux et des codes de test : or, argent, palladium, unités de compte européennes, et XXX lui-même. À savoir : Unicode accepte tous ces codes si on les lui passe explicitement, il ne les énumère simplement pas. La liste des valeurs valides d’un environnement et l’ensemble des valeurs qu’il accepte sont deux ensembles distincts.
En sens inverse, Unicode traîne encore six codes que l’ISO a retirés, dont la kuna croate et le florin antillais, parce qu’un logiciel doit continuer à mettre en forme des montants historiques après la mort d’une devise. Ils ne sont pas ici, puisque ceci est la norme en vigueur, mais si votre code les reçoit du CLDR, voilà pourquoi.
Enfin, cette page n’a pas de taux de change et n’en aura pas. Un taux est une dépendance externe vivante qu’il faudrait aller chercher, mettre en cache et payer, et un taux périmé vaut moins que pas de taux du tout. Tout ce qui figure ici ne change que lorsqu’un organisme de normalisation le décide.
Pourquoi est-ce gratuit ?
Parce que c’est un tableau et un champ de recherche. Le jeu de données se trouve dans la page que vous avez déjà chargée, tout s’exécute dans votre navigateur et rien de ce que vous tapez n’en sort : aucun serveur n’intervient pour consulter un code de devise.
Il n’y a donc ni compte, ni inscription, ni rien de réservé. Le générateur qui construit tout cela depuis la liste publiée de l’ISO 4217 et depuis Unicode CLDR se trouve dans le dépôt, à côté de la page, avec les 1 006 vérifications qui contrôlent les codes, les décimales, les collisions de symboles et la variation entre variantes — y compris les contrôles négatifs qui empêchent ces tests de passer pour la mauvaise raison.