罗马数字转换
在阿拉伯数字和罗马数字之间即时转换。
罗马数字至今仍出现在建筑基石、电影版权行、钟面、君主名号和书籍章节里。罗马数字转换器支持双向翻译:输入 2026 得到 MMXXVI,粘贴 MCMLXXXIV 得到 1984。它会校验输入,而不是盲目地把符号相加,因此 IC、VV 这类不规范的写法会被标出,而不会悄悄返回一个错误答案。
一个工具,两个转换方向
用切换按钮选择方向。转罗马数字接收 1 到 3,999 之间的整数,输出标准记法;转阿拉伯数字接收一串罗马数字,返回它的十进制值。输入即所得,结果瞬间出现,复制按钮把输出放进剪贴板。解析器不区分大小写,并会忽略首尾空白,从文档里粘贴文本时很方便。
转换是怎么进行的
两个方向都依赖一张固定的十三组「数值—符号」对照表,从大到小排列:
1000 M, 900 CM, 500 D, 400 CD, 100 C,
90 XC, 50 L, 40 XL, 10 X, 9 IX,
5 V, 4 IV, 1 I
把数字转成罗马数字是贪心过程:从表顶往下走,只要余数还够,就追加对应符号并减去它的值。由于表里已经包含六个减法对(CM、CD、XC、XL、IX、IV),输出会自动落在最短的规范形式上。
转回数字则从左往右读取字符串,先检查两字符组合,再检查单个字符。遇到 IV 这样的组合时,就把它的值当作一个整体加上去。正是这一点,让前置的较小符号能够削减后一个较大的符号,而无需单独做一次减法。
完整的减法规则
减法并非随意使用。只有三个符号可以充当被减数:I、X 和 C。每个都只有唯一一个被允许的搭配对象,且只有下面这些形式才算规范:
| 组合 | 值 | 含义 |
|---|---|---|
| IV | 4 | 5 减 1 |
| IX | 9 | 10 减 1 |
| XL | 40 | 50 减 10 |
| XC | 90 | 100 减 10 |
| CD | 400 | 500 减 100 |
| CM | 900 | 1000 减 100 |
V、L、D 从不参与减法,任何符号也不能跨过不止一档去减。仅这一条限制就排除了一大批看起来很诱人的捷径:IL 表示 49、IC 表示 99、XD 表示 490、XM 表示 990,全都无效,尽管它们看上去更省字符。正确写法是 XLIX、XCIX、CDXC 和 CMXC。转换器的往返校验能抓住每一个这类错误,因为解析出的值转回去得到的是规范写法,而不是那个捷径。
怎样读一个陌生的罗马数字
从左往右扫一遍,能更容易读懂一串长数字。把每个符号与下一个比较:如果后一个更大,就减去当前这个;否则就加上它。MCMXLV 依次是 1000,然后(100 在 1000 前面,减 100),再是 1000,然后(10 在 50 前面,减 10),最后是 50,合计 1945。脑子里记住那六个合法组合,规则往往就不必显式套用,因为大多数罗马数字都是由这些组合拼出来的。当一个数值看起来不可能时,通常工具的报错是对的,真正该检查的是罗马数字的拼写。
实操示例
| 十进制 | 罗马数字 | 拆解方式 |
|---|---|---|
| 4 | IV | 5 减 1 |
| 9 | IX | 10 减 1 |
| 40 | XL | 50 减 10 |
| 444 | CDXLIV | 400 + 40 + 4 |
| 1812 | MDCCCXII | 1000 + 500 + 300 + 10 + 2 |
| 1984 | MCMLXXXIV | 1000 + 900 + 80 + 4 |
| 2026 | MMXXVI | 1000 + 1000 + 20 + 6 |
| 3999 | MMMCMXCIX | 3000 + 900 + 90 + 9 |
什么算无效
转换器用两道检查来强制标准记法。第一,拒绝任何连续出现四个或更多相同符号的情况,所以 IIII 和 XXXX 会失败。第二,解析输入后把数值结果转回罗马数字,要求二者完全一致。
| 输入 | 结果 | 原因 |
|---|---|---|
| IIII | 无效 | 重复四次;应写作 IV |
| VV | 无效 | 解析为 10,转回是 X |
| IC | 无效 | 解析为 101,转回是 CI |
| MIM | 无效 | 解析为 2001,转回是 MMI |
| XLII | 42 | 有效 |
| mcmlxxxiv | 1984 | 有效,不区分大小写 |
| 0 | 无效 | 罗马数字没有零 |
| 4000 | 无效 | 超过 3,999 的上限 |
为什么上限是 3,999
七个基本符号到 M(1,000)为止。要表示 4,000 就得写 MMMM,而 5,000 根本没有对应符号。为了表示更大的数,古代书写者会在符号上加一横表示乘以 1,000,或使用一种叫 apostrophus 的变体,但这些约定并不统一,也不是所有人都能读懂。把上限卡在 3,999,能保证每个输出都无歧义,也与今天年份和章节编号的常规写法一致。
罗马数字今天出现在哪里
- 电影和电视节目结尾的版权年份,例如 MMXXVI。
- 奠基石、纪念碑和建筑落成铭文。
- 钟面,其中 IIII 有时因视觉对称而被优先于 IV 使用。
- 君主名号(Charles III)、超级碗届数(Super Bowl LVIII)、章节和附录的编号。
- 需要古典观感的纹身、雕刻和设计作品。
相关工具
常见问题
为什么 4 写作 IV 而不是 IIII?
减法规则允许较小的符号写在大符号前面,表示相减,所以 IV 就是 5 减 1。这是现代标准写法,不过有些钟面和老铭文出于传统仍写 IIII。转换器把 IV 视为合法,把 IIII 判为不规范。
为什么工具会拒绝 IC、VV 这类写法?
解析完罗马数字后,工具会把结果再转回罗马数字并比对。如果一来一回无法精确还原你的输入,这个输入就是非标准的。IC 解析为 101,而 101 转回罗马数字是 CI,所以 IC 被拒绝;VV 解析为 10,转回来是 X,因此同样被拒绝。
最大能转换成多大的数字?
3,999,写作 MMMCMXCIX。标准记法没有 5,000 的符号,所以 4,000 及以上都超出范围。少数体系用上划线或 apostrophus 来表示更大的值,但这个转换器有意只用那七个基本符号。
可以用小写输入罗马数字吗?
可以。输入会先去空白并转成大写再解析,所以 mcmlxxxiv 和 MCMLXXXIV 都会返回 1984。数值前后的空格会被忽略,但数字内部的空格或标点不属于任何合法写法,会直接触发错误。
2026 怎么转换成罗马数字?
2026 拆成 1000 + 1000 + 10 + 10 + 5 + 1,也就是 MMXXVI。转换器从大到小贪心地拼装,所以完全不需要猜测。
罗马数字有表示零的吗?
没有。这套系统既没有零,也没有负数,所以输入 0 或负数会返回错误,提示它没有对应的表示法。这是历史记法本身的性质,而不是功能缺失。
由 HandyTools Hub 团队审校 · 最后更新