El convertidor de numerales romanos toma un campo y trabaja en las dos direcciones a la vez. Escribe 1994 y contesta MCMXCIV; escribe MCMXCIV, en minúsculas o con espacios entre las letras, y contesta 1994. La tarjeta de resultado muestra el número árabe y el numeral romano lado a lado, cada uno con su propio botón de copiar, y una tabla de referencia abajo lista los siete símbolos base: I es 1, V es 5, X es 10, L es 50, C es 100, D es 500, M es 1.000.
Cómo se descompone el número
El convertidor recorre una tabla de 13 pasos de mayor a menor: M (1.000), CM (900), D (500), CD (400), C (100), XC (90), L (50), XL (40), X (10), IX (9), V (5), IV (4), I (1), y añade cada símbolo las veces que cabe. Para 1.994 eso es M por 1.000, CM por 900, XC por 90 e IV por 4: MCMXCIV. El año 2.026 pasa por MM, luego XX, luego VI: MMXXVI. El 42 del ejemplo del campo cae en XL y luego II: XLII.
Las seis parejas sustractivas
Solo seis restas son legales: IV (4), IX (9), XL (40), XC (90), CD (400), CM (900). El validador es un patrón estricto sobre el orden canónico, así que 49 se escribe XLIX, nunca IL; 99 se escribe XCIX, nunca IC; y 44 se escribe XLIV, porque cuatro X seguidos como en XXXXII rompen la regla de que un símbolo puede repetirse como máximo tres veces. VV, IIII y XM se rechazan igual: el patrón comprueba que el bloque M, luego el bloque C-o-D, luego el bloque X-o-L y luego el bloque I-o-V aparecen en orden descendente y nada más.
El rango, y su único agujero
Un número árabe debe ser un entero entre 1 y 3.999; 0 y 4.000 dan el error de rango. 3.999 es el mayor numeral romano canónico, y se escribe MMMCMXCIX: tres M, luego CM, luego XC, luego IX. El agujero: la entrada en romano no tiene techo alguno. El patrón deja pasar cualquier corrida de M, así que MMMM se lee como 4.000 y MMMMM como 5.000, aunque ninguna entrada árabe podría producir ninguna de las dos cadenas.
Qué acepta el campo
El campo primero intenta leer el texto como número entero, y solo si el texto es exactamente igual a ese número convierte. Un 42 con espacios sueltos a los dos lados funciona, porque el texto se recorta antes; pero 42.0 falla: se interpreta como 42, las dos cadenas difieren, así que el texto se trata como numeral romano y se rechaza. Un 1,994 con su coma se comporta igual. En el lado romano, las mayúsculas y los espacios internos no importan: mcmxciv y m c m x c i v devuelven 1994.
Para qué sirve el número
Los numerales romanos sobreviven en placas de año, marcadores de capítulo y carátulas de reloj, así que 2.026 es MMXXVI en un diploma o un cartel de título. MCMXCIV son siete caracteres donde 1994 son cuatro; el contador de caracteres hace concreta esa diferencia de longitud. Invertir las letras con el inversor de texto da VICXMCM, que el convertidor rechaza, una demo rápida de lo estrictas que son las reglas de orden. El convertidor de base numérica cubre el otro lado de los sistemas numéricos, con 1994 como 11111001010 en binario y 7CA en hexadecimal, y la herramienta de código morse es la pariente más cercana: otro esquema que escribe valores con un alfabeto pequeño y fijo.
Lecturas relacionadas
La herramienta césar rot13 es el otro clásico de la era romana: desplaza cada letra una cantidad fija en vez de componer un número con símbolos. Para otra guía con sabor a proporción, mira cómo calcular una relación de aspecto, y para el paso de limpieza del lado del texto, mira cómo usar una herramienta de escape de cadenas.