Códigos de moeda (ISO 4217)

Útil ao criar formulários de checkout, tabelas de câmbio ou exportações de faturas.

Atualizado:

MoedaCódigoSímboloDecimais
dólar americanoUSD$2
euroEUR€2
libra esterlinaGBP£2
iene japonêsJPY¥0
yuan chinêsCNY¥ / 元2
dólar de Hong KongHKDHK$2
dólar taiwanêsTWDNT$2
won sul-coreanoKRW₩0
franco suíçoCHFCHF2
dólar canadenseCADC$2
dólar australianoAUDA$2
dólar neozelandêsNZDNZ$2
dólar de SingapuraSGDS$2
rupia indianaINR₹2
rupia indonésiaIDRRp2
baht tailandêsTHB฿2
dong vietnamitaVND₫0
ringgit malaioMYRRM2
peso filipinoPHP₱2
real brasileiroBRLR$2
peso mexicanoMXNMex$2
peso argentinoARS$2
lira turcaTRY₺2
rublo russoRUB₽2
rial sauditaSAR﷼2
dirham dos EAUAEDد.إ2
rand sul-africanoZARR2
zloty polonêsPLNzł2
coroa suecaSEKkr2
coroa norueguesaNOKkr2
coroa dinamarquesaDKKkr2

Notas

O que a ISO 4217 realmente especifica

A ISO 4217 é a norma internacional que atribui a cada moeda um código de três letras, um código numérico e um número definido de casas decimais. As letras não são aleatórias: as duas primeiras geralmente identificam o país ou a região e a terceira o nome da moeda, então USD corresponde ao dólar dos Estados Unidos, JPY ao iene japonês e EUR ao euro. A norma também fixa a unidade menor — quantos dígitos vêm após o ponto decimal —, que é o que o software usa para arredondar os valores corretamente. Quando um sistema diz "armazenar o código", ele se refere ao código alfabético da ISO 4217, não ao símbolo, e essa distinção evita uma classe inteira de erros nos pagamentos.

Por que o símbolo nunca é suficiente

Os símbolos das moedas são ambíguos de uma forma que os códigos não são. O símbolo do dólar serve para os dólares dos Estados Unidos, Canadá, Austrália, Nova Zelândia, Hong Kong e Cingapura, entre outros; os símbolos do iene e do yuan se sobrepõem; o símbolo da libra abrange o sterlin e várias outras. Um preço escrito como "$10" não informa qual moeda está sendo usada. Em faturas, APIs e bancos de dados, armazenar o código de três letras elimina essa ambiguidade, e o símbolo se torna um detalhe de apresentação escolhido no momento da exibição com base no público-alvo. A regra prática para qualquer sistema que manipule dinheiro internacionalmente é simples: armazene o código, renderize o símbolo.

Unidades menores, expoentes e arredondamento

O número de casas decimais é uma propriedade da moeda, não uma configuração global. A maioria das moedas usa dois dígitos, de modo que USD, EUR, GBP e CNY aceitam centavos. Porém, o iene e o won norte-coreano não possuem unidade menor — JPY 100 equivale a cem ienes, sem casas decimais —, enquanto um punhado de moedas baseadas no dinar, incluindo o dinar kuwaitiano, o dinar do Bahrein, o rial omãni e o dinar tunisiano, usa três. Algumas moedas também têm unidade menor diferente para dinheiro vivo do que para contabilidade. Um arredondamento incorreto nesses casos pode gerar discrepâncias na ordem de cem vezes, por isso leia sempre o expoente na norma em vez de supor duas casas decimais.

Um código curto, uma longa lista de casos extremos

Além do punhado de moedas principais em qualquer tabela de referência, existem os casos mais complexos. Moedas passam por redenominação — o Zimbabwe já removeu zeros mais de uma vez —, e códigos substituídos permanecem em registros históricos. Alguns territórios usam diretamente a moeda de outro país, não havendo código local. As criptomoedas estão intencionalmente fora da ISO 4217 e usam seus próprios tickers, por isso um livro-razão que lide com ambos precisa saber em qual namespace está. Além disso, algumas moedas compartilham o mesmo nome entre países, mas possuem códigos e valores diferentes. Saber que o código é o identificador estável, enquanto símbolos, nomes e até mesmo as casas decimais podem mudar, é o insight prático mais importante.

Perguntas frequentes

De que moeda é o código EUR?
EUR é o código ISO 4217 do euro, a moeda usada pela maioria dos países da União Europeia. Seu símbolo é €.
Qual é o código da moeda do Japão?
O yen japonês tem o código ISO 4217 JPY e o símbolo ¥. Ele não tem casas decimais.
Por que armazenar um código de três letras em vez do símbolo?
Os símbolos se repetem: $ pode significar USD, CAD, AUD e outros. O código ISO 4217 de três letras não é ambíguo.

Fontes