Herramienta de conversión de números romanos a árabe digital en línea

Numerales romanos

Numerales arábigos

Acerca deHerramienta de conversión de números romanos a árabe digital en línea:

Esta herramienta de conversión de números romanos a números arábigos en línea le ayuda a convertir un número romano a números arábigos. Ingrese el número romano y el número árabe se mostrará en el cuadro de resultados.

Números romanos:

Los números romanos usan letras latinas para representar números ("I" :"1", "V" :"5", "X" :"10", "L" :"50", "C" :"100", "D" :"500", "M" :"1000") . El sistema de números romanos se usa a menudo en la clasificación de papeles y libros.

comic roman numerals to numbers

¿Cómo convertir números romanos a números arábigos?

  1. Paso 1: Recuerde los valores representados por el alfabeto latino en orden ('I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000) .

  2. Paso 2: de izquierda a derecha, si el alfabeto latino aparece antes que el alfabeto latino que es más grande, reste el valor representado por el alfabeto latino.

    Ejemplo 2.1: IV = V - I = 5 - 1 = 4

    Ejemplo 2.2: XL = X - L = 50 - 10 = 40

  3. Paso 3: En otros casos, aumente el valor representado por esta letra latina.

    Ejemplo 3.1: XXXV = X + X + X + V = 10 + 10 + 10 + 5 = 35

    Ejemplo 3.2: CXXIII = C + X + X + I + I + I = 100 + 10 + 10 + 1 + 1 + 1 = 123

Ejemplo 1: Convertir el número romano "CXLVI" a números arábigos:

CXLVI = C + XL + V + I = 100 + (500-10) + 5 + 1 = 146

Ejemplo 2: Convertir el número romano "CDXCIV" a números arábigos:

CDXCIV = CD + XC + IV = (500-100) + (100-10) + (5-1) = 494

Tabla de conversión de números romanos a números arábigos:

Numerales romanos Numerales arábigos Numerales romanos Numerales arábigos
I 1 XXI 21
II 2 XXII 22
III 3 XXIII 23
IV 4 XXIV 24
V 5 XXV 25
VI 6 XXVI 26
VII 7 XXVII 27
VIII 8 XXVIII 28
IX 9 XXIX 29
X 10 XXX 30
XI 11 XXXI 31
XII 12 XXXII 32
XIII 13 XXXIII 33
XIV 14 XXXIV 34
XV 15 XXXV 35
XVI 16 XXXVI 36
XVII 17 XXXVII 37
XVIII 18 XXXVIII 38
XIX 19 XXXIX 39
XX 20 XL 40

Enlace:

Wikipedia (Sistema digital romano): https://en.wikipedia.org/wiki/Roman_numerals

Conversión de números romanos a números arábigos en Python:

def transform_roman_numeral_to_number(roman_numeral):
    roman_char_dict = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
    res = 0
    for i in range(0, len(roman_numeral)):
        if i == 0 or roman_char_dict[roman_numeral[i]] <= roman_char_dict[roman_numeral[i - 1]]:
            res += roman_char_dict[roman_numeral[i]]
        else:
            res += roman_char_dict[roman_numeral[i]] - 2 * roman_char_dict[roman_numeral[i - 1]]
    return res


roman_numeral_input = 'MMXVIII'
number_output = transform_roman_numeral_to_number(roman_numeral_input)
print('Roman numeral {0} equal to:{1}'.format(roman_numeral_input, number_output))

-------------------
Roman numeral MMXVIII equal to:2018

Conversión de números romanos a números arábigos en Java:

import java.util.Map;
import java.util.HashMap;

public class NumberConvertManager {
    public static int transform_roman_numeral_to_number(String roman_numeral) {
        Map<Character, Integer> roman_char_dict = new HashMap<Character, Integer>();
        roman_char_dict.put('I', 1);
        roman_char_dict.put('V', 5);
        roman_char_dict.put('X', 10);
        roman_char_dict.put('L', 50);
        roman_char_dict.put('C', 100);
        roman_char_dict.put('D', 500);
        roman_char_dict.put('M', 1000);
        int res = 0;
        for (int i = 0; i < roman_numeral.length(); i += 1) {
            if (i == 0 || roman_char_dict.get(roman_numeral.charAt(i)) <= roman_char_dict.get(roman_numeral.charAt(i - 1)))
                res += roman_char_dict.get(roman_numeral.charAt(i));
            else
                res += roman_char_dict.get(roman_numeral.charAt(i)) - 2 * roman_char_dict.get(roman_numeral.charAt(i - 1));
        }
        return res;
    }

    public static void main(String[] args) {
        String roman_numeral_input = "MMXVIII";
        int number_output = transform_roman_numeral_to_number(roman_numeral_input);
        System.out.println("Roman numeral " + roman_numeral_input + " equal to:" + number_output);
    }
}

-------------------
Roman numeral MMXVIII equal to:2018