Numeral romano para ferramenta de conversão online árabe digital

Algarismos romanos

Algarismos arábicos

SobreNumeral romano para ferramenta de conversão online árabe digital:

Este numeral romano on-line para a ferramenta de conversão de algarismos arábicos ajuda-o a converter um numeral romano num algarismo arábico, introduza o numeral romano e o algarismo arábico será apresentado na caixa de resultados.

Algarismos romanos:

Algarismos romanos usam letras latinas para representar números ("I" :"1", "V" :"5", "X" :"10", "L" :"50", "C" :"100", "D" :"500", "M" :"1000") . O sistema numeral romano é freqüentemente usado na classificação de papéis e livros.

comic roman numerals to numbers

Como converter algarismos romanos em algarismos arábicos?

  1. Passo 1: Lembre - se dos valores representados pelo alfabeto latino em ordem ('I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000) .

  2. Etapa 2: da esquerda para a direita, se o alfabeto latino aparecer antes do alfabeto latino maior do que ele, subtraia o valor representado pelo alfabeto latino.

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

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

  3. Passo 3: Em outros casos, aumente o valor representado por esta letra latina.

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

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

Exemplo 1: Converta o numeral romano "CXLVI" em algarismos arábicos:

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

Exemplo 2: Convertendo o numeral romano "CDXCIV" em algarismos arábicos:

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

Numeral romano à tabela de conversão numérica arábica:

Algarismos romanos Algarismos arábicos Algarismos romanos Algarismos arábicos
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

Link:

Wikipédia (Roman Digital System): https://en.wikipedia.org/wiki/Roman_numerals

Numeral romano para conversão de numeral árabe em 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

Numeral romano à conversão do número árabe em 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