ローマ数字からアラビア語へのデジタルオンライン変換ツール
についてローマ数字からアラビア語へのデジタルオンライン変換ツール:
このオンラインローマ数字からアラビア数字への変換ツールを使用すると、ローマ数字をアラビア数字に変換でき、ローマ数字を入力すると結果ボックスにアラビア数字が表示されます。
ローマ数字:
ローマ数字は、数字を表すためにラテン文字を使用します("I" :"1", "V" :"5", "X" :"10", "L" :"50", "C" :"100", "D" :"500", "M" :"1000")ローマ数字システムは、論文や本の分類によく使用されます.
ローマ数字をアラビア数字に変換する方法は?
ステップ1:ラテンアルファベットで表された値を順番に覚えておいてください
('I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000)手順2:左から右へ、ラテンアルファベットがそれより大きいラテンアルファベットの前に表示される場合は、ラテンアルファベットで表される値を引きます.
例2.1:IV = V - I = 5 - 1 = 4
例2.2:XL = X - L = 50 - 10 = 40
ステップ3:それ以外の場合は、このラテン文字で表される値を大きくしてください.
例3.1:XXXV = X + X + X + V = 10 + 10 + 10 + 5 = 35
実施例3.2:CXXIII = C + X + X + I + I + I = 100 + 10 + 10 + 1 + 1 + 1 = 123
例1:ローマ数字「CXLVI」をアラビア数字に変換します.
例2:ローマ数字「CDXCIV」をアラビア数字に変換する:
ローマ数字からアラビア数字への変換表:
| ローマ数字 | アラビア数字 | ローマ数字 | アラビア数字 |
|---|---|---|---|
| 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 |
リンク:
ウィキペディア(Roman Digital System): https://en.wikipedia.org/wiki/Roman_numerals
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
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