Números romanos
Digite um número inteiro de 1 a 3999 e receba o número romano padrão: 1994 vira MCMXCIV e 3999 vira MMMCMXCIX, prontos para uma folha de rosto, um sumário ou uma gravação. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- N
- 2.024
- Resultado
- MMXXIV
- Algarismos romanos
- MMXXIV
Os números romanos padrão codificam inteiros com sete letras: I, V, X, L, C, D e M. Este conversor aceita um único inteiro de 1 a 3999 inclusive e devolve a grafia subtrativa canônica usada em manuais de estilo modernos, linhas de copyright, numeração de esquemas e provas. Digite 4 e você recebe IV, não IIII; digite 1994 e você recebe MCMXCIV; digite 3999 e você recebe MMMCMXCIX, o maior valor que o alfabeto clássico consegue escrever sem barras superiores.
O que são os números romanos e como este conversor os escreve
Os números romanos padrão usam sete letras cujo valor nunca muda: I vale um, V cinco, X dez, L cinquenta, C cem, D quinhentos e M mil. O estilo impresso moderno combina essas letras da maior para a menor, com seis pares subtrativos que evitam quatro letras idênticas em sequência: IV para quatro, IX para nove, XL para quarenta, XC para noventa, CD para quatrocentos e CM para novecentos.
Este conversor aplica essa convenção com uma tabela de treze entradas percorrida de forma gulosa: enquanto o valor restante for pelo menos o próximo peso, as letras correspondentes são acrescentadas e o peso é subtraído. O resultado é sempre a grafia canônica mais curta e única, então 4 vira IV e não IIII, 9 vira IX e não VIIII, 44 vira XLIV, 1990 vira MCMXC e 2024 vira MMXXIV.
Mostradores de relógio aditivos que imprimem IIII para o quatro são uma tradição tipográfica, não a forma subtrativa que este serviço devolve. Aqui não há letra para zero, nem numerais negativos, nem glifos de fração; isso pede outras notações. As letras clássicas sem uma barra vinculum param em 3999, escrito MMMCMXCIX, e por isso o intervalo de inteiros aceito fica fechado de um a 3999.
Onde a conversão de inteiro para romano é usada e o que esta ferramenta não faz
Editoras ainda colocam o ano de copyright em números romanos em páginas de rosto, colofões e créditos de filme, por isso um ano como 2026 deve virar MMXXVI sem uma planilha improvisada. Esquemas jurídicos e acadêmicos numeram as seções maiores I, II, III e misturam marcas arábicas e romanas nas subseções; gerar esses rótulos a partir de um laço de inteiros evita erros de um a mais quando um capítulo é inserido.
Relojoeiros, inscrições monumentais e provas também precisam de uma única grafia canônica para que corretores e gravadores não discutam IIII versus IV. Esta capacidade é deliberadamente de um só sentido: ela não analisa uma string romana de volta para o arábico, não emite barras vinculum para valores iguais ou acima de 4000 e não codifica doze avos uncia nem outras unidades romanas fracionárias. Se você precisa disso, use um conversor de numerais grandes ou de frações em vez de esticar esta faixa.
Fixe nos testes os inteiros de referência 4, 9, 44, 1994, 2024 e 3999; eles cobrem todos os pares subtrativos e o limite superior. Mantenha n dentro dos limites publicados e você obtém uma string estável para carimbar em créditos PDF, widgets de CMS e corretores de lição de casa, sem montar uma biblioteca própria de composição tipográfica.
Casos de uso
Anos de copyright e créditos de filme
Renderize o ano de uma publicação ou de uma produção como número romano (por exemplo 2026 para MMXXVI) em páginas de rosto, colofões e créditos finais.
Numeração de esquemas e cláusulas
Gere marcadores de seção I, II, III a partir de um laço de inteiros para que peças jurídicas, ementas e sumários fiquem na forma subtrativa canônica.
Perguntas frequentes
Qual faixa de inteiros você pode converter para números romanos?
Números inteiros de 1 a 3999 inclusive. Não há letra padrão para zero, e 3999 (MMMCMXCIX) é o maior valor que os símbolos clássicos escrevem sem uma barra vinculum.
Por que 4 vira IV em vez de IIII?
A notação subtrativa moderna escreve quatro como IV (um antes de cinco) em vez de quatro letras I. O IIII aditivo dos mostradores de relógio é uma tradição tipográfica que este conversor não emite.
Você pode converter uma string romana de volta para um inteiro arábico?
Não. Esta página vai só de inteiro para romano.
Como se escreve 2026 em números romanos?
2026 se escreve MMXXVI: dois M para os dois mil, XX para o vinte e VI para o seis. Digite o ano e o conversor devolve o resultado, pronto para uma folha de rosto ou créditos de filme.
Quanto vale cada letra romana?
I vale 1, V vale 5, X vale 10, L vale 50, C vale 100, D vale 500 e M vale 1000. Os valores nunca mudam; só a ordem decide se uma letra soma ou subtrai.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/conv/roman-numerals \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":2024}'const res = await fetch("https://api.kit.forhosting.com/conv/roman-numerals", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 2024
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/roman-numerals",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 2024
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/roman-numerals", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":2024}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":2024}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/roman-numerals", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"n": 2024
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.roman_numerals",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min | 1 |
max | 3999 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Zero, negativos, frações e inteiros fora desse intervalo fechado falham com invalid_input e não são cobrados.
Contrato de entrada, checagens de faixa e o JSON que você recebe
Depois da coerção, o solucionador confere que n é um número inteiro no intervalo inclusivo de 1 a 3999. Em caso de sucesso, o corpo ecoa n como número, define roman e result para a mesma string de letras maiúsculas e omite chaves opcionais em vez de colocá-las como null. Exemplo: n igual a 2024 gera roman MMXXIV; n igual a 4 gera IV; n igual a 3999 gera MMMCMXCIX. Acrescente o próprio código de exibição se precisar de minúsculas ou interpontos; o contrato é sempre a string canônica em maiúsculas. Envie por POST um objeto JSON com um único campo inteiro obrigatório chamado n. Os aliases value, number e integer são aceitos para que formulários e SDKs reutilizem um nome que já exista no payload. O valor pode chegar como inteiro JSON ou como string só de dígitos com um sinal de mais opcional na frente; frações, notação científica, strings vazias, arrays e texto não numérico como uma string romana são rejeitados. Zero não é um numeral romano neste alfabeto, 4000 exigiria um vinculum ou um M a mais além do teto clássico de quatro M, e negativos não têm letras padrão, então esses casos disparam invalid_input citando o campo n e não são cobrados. O preço publicado é US$ 0,002 por chamada bem-sucedida à API.
Onde a conversão de inteiro para romano é usada e o que esta ferramenta não faz
Como o algoritmo é um percurso curto de tabela, sem rede e sem tokens de modelo, cada solicitação bem-sucedida permanece no preço da camada parse US$ 0,002 e a validação que falha não consome saldo pré-pago.
Casos de integração
Lição de casa e checagem do manual de estilo
Deixe estudantes e revisores confirmarem que 4 é IV, 9 é IX e 1994 é MCMXCIV contra a mesma tabela gulosa que a API usa.
Perguntas técnicas
O que acontece se você enviar 0, 4000 ou um decimal?
A tarefa falha com invalid_input. n precisa ser um inteiro de 1 a 3999; frações, zero, negativos e valores acima de 3999 estão fora da faixa e não são cobrados.
Quanto custa o conversor de números romanos?
A ferramenta no navegador é grátis. As solicitações à API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.