罗马数字转换器

在阿拉伯数字与罗马数字之间双向转换,支持 1 到 3999。实时转换,附符号拆解与合法性校验。

阿拉伯数字与罗马数字之间的双向转换。 在任意一侧输入,另一侧会立即更新。支持范围为 1 到 3999,这是古典罗马记数法在不使用上划线时能表达的全部范围。

符号拆解

符号对照表

I 1
V 5
X 10
L 50
C 100
D 500
M 1000

罗马数字的规则

七个符号,两条规则

罗马数字由七个字母构成:I=1、V=5、X=10、L=50、C=100、D=500、M=1000。其余全部由两条规则推导:小符号出现在大符号之后表示相加,因此 VI 是 6;出现在大符号之前表示相减,因此 IV 是 4。

重复规则

I、X、C、M 最多连续重复三次。V、L、D 从不重复,因为两个相同符号正好等于上一级符号:VV 就是 X。这也解释了为什么 4 写作 IV 而不是 IIII,9 写作 IX 而不是 VIIII

哪些减法是合法的

标准形式中只有六种减法组合:IV(4)、IX(9)、XL(40)、XC(90)、CD(400)、CM(900)。一个符号只能从同一个十进制量级中紧邻的两个更大符号里减去。因此 49 不能写作 IL,必须写作 XLIX

3999 的上限

由于 M 之上没有符号,且 M 最多重复三次,能表达的最大值是 MMMCMXCIX = 3999。历史上更大的数会使用上划线(vinculum)表示「乘以 1000」,带横线的 V 即 5000。这种记法在纯文本中没有统一标准,因此本工具止步于 3999。

今天还能在哪里见到

钟表盘面、书籍章节编号、影片版权年份、君主与教宗的序号,以及超级碗。需要注意的是,很多钟面用 IIII 代替 IV 以求视觉平衡,这是沿袭已久的惯例而非错误。

开源说明:依据标准减法记数规则自行实现,未使用第三方库。

常见问题

为什么 4 写作 IV 而不是 IIII?
标准记法限制最多重复三次,改用减法表示。IIII 确实出现在许多钟面上,但那是装饰性惯例,并非规范写法。
为什么不能输入 0 或负数?
罗马数字没有表示零的符号,也没有负数概念。这套系统是为计数和记账设计的,因此从 1 开始。
最大能转换到多少?
3999,写作 MMMCMXCIX。再大就需要用上划线表示乘以 1000,而这种写法在纯文本中无法可靠表达。
IL 可以表示 49 吗?
不可以。一个符号只能从同量级中紧邻的两个更大符号里减去,所以 49 是 XLIX。本工具会判定 IL 为非法。
支持小写输入吗?
支持。小写罗马数字会自动转换,输入「mmxxiv」与「MMXXIV」效果相同。
符号拆解显示的是什么?
它把结果拆成构成它的各个相加部分,让你清楚看到 2024 是如何由 M + M + X + X + IV 组成的。