Códigos de moeda (ISO 4217)
Útil ao criar formulários de checkout, tabelas de câmbio ou exportações de faturas.
| Moeda | Código | Símbolo | Decimais |
|---|---|---|---|
| dólar americano | USD | $ | 2 |
| euro | EUR | € | 2 |
| libra esterlina | GBP | £ | 2 |
| iene japonês | JPY | ¥ | 0 |
| yuan chinês | CNY | ¥ / 元 | 2 |
| dólar de Hong Kong | HKD | HK$ | 2 |
| dólar taiwanês | TWD | NT$ | 2 |
| won sul-coreano | KRW | ₩ | 0 |
| franco suíço | CHF | CHF | 2 |
| dólar canadense | CAD | C$ | 2 |
| dólar australiano | AUD | A$ | 2 |
| dólar neozelandês | NZD | NZ$ | 2 |
| dólar de Singapura | SGD | S$ | 2 |
| rupia indiana | INR | ₹ | 2 |
| rupia indonésia | IDR | Rp | 2 |
| baht tailandês | THB | ฿ | 2 |
| dong vietnamita | VND | ₫ | 0 |
| ringgit malaio | MYR | RM | 2 |
| peso filipino | PHP | ₱ | 2 |
| real brasileiro | BRL | R$ | 2 |
| peso mexicano | MXN | Mex$ | 2 |
| peso argentino | ARS | $ | 2 |
| lira turca | TRY | ₺ | 2 |
| rublo russo | RUB | ₽ | 2 |
| rial saudita | SAR | ﷼ | 2 |
| dirham dos EAU | AED | د.إ | 2 |
| rand sul-africano | ZAR | R | 2 |
| zloty polonês | PLN | zł | 2 |
| coroa sueca | SEK | kr | 2 |
| coroa norueguesa | NOK | kr | 2 |
| coroa dinamarquesa | DKK | kr | 2 |
Notas
- As casas decimais seguem a ISO 4217 para valores em dinheiro; cripto e outros registros podem diferir.
- Os símbolos se repetem (ex.: $); armazene sempre o código de três letras.
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.