罗马数字到阿拉伯数字在线转换工具
阿拉伯数字
关于罗马数字到阿拉伯数字在线转换工具:
这个在线罗马数字到阿拉伯数字转换工具可帮助您将一个罗马数字转换为阿拉伯数字. 输入罗马数字, 阿拉伯数字会显示在结果框中.
罗马数字系统(Roman Numerals):
罗马数字用拉丁字母代表数字 ("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" 转换为阿拉伯数字:
CXLVI = C + XL + V + I = 100 + (500-10) + 5 + 1 = 146
例2: 罗马数字 "CDXCIV" 转换为阿拉伯数字:
CDXCIV = CD + XC + IV = (500-100) + (100-10) + (5-1) = 494
罗马数字到阿拉伯数字转换表:
罗马数字 | 阿拉伯数字 | 罗马数字 | 阿拉伯数字 |
---|---|---|---|
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 |
链接:
维基百科 (罗马数字系统): 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
相关工具
16进制到10进制转换
10进制到16进制转换
8进制到10进制转换
10进制到8进制转换
2进制到10进制转换
10进制到2进制转换
2进制到16进制转换
16进制到2进制转换
ASCII查询表
16进制到ASCII字符串转换
ASCII字符串到16进制转换
2进制到ASCII字符串转换
ASCII字符串到2进制转换
分数到小数转换
小数到分数转换
百分比到小数转换
小数到百分比转换
百分比到分数转换
分数到百分比转换
Hex颜色到RGB颜色转换
RGB颜色到Hex颜色转换
Hex颜色到RGBA颜色转换
RGBA颜色转Hex颜色转换
罗马数字对照表 1-1000
罗马数字到阿拉伯数字转换
阿拉伯数字到罗马数字转换