罗马数字转换
数字与罗马数字互转。
在阿拉伯数字(1–3999)和罗马数字之间双向转换:输入 2026 得到 MMXXVI;输入 MCMXCIX 得到 1999。转换器会强制采用规范形式(标准减法规则),遇到无效字符串时会说明失败原因,而不是擅自猜测。
规则一口气说完:七个符号(I=1、V=5、X=10、L=50、C=100、D=500、M=1000);I、X、C、M 最多重复三次;V、L、D 绝不重复;减法组合只有 IV、IX、XL、XC、CD、CM。因此 1999 是 MCMXCIX(M + CM + XC + IX),绝不是 IMM;每个减法前缀只能放在之后两个等级以内的符号前。
边界:规范体系只涵盖 1–3999;4000+ 没有标准的单字符写法(历史文献用上横线表示 ×1000,但纯文本无法承载),罗马数字也没有零,因为该记数系统根本没有表示零的符号(中世纪抄写员会写单词“nulla”)。IIII 等输入即使常见于钟面,也会因不规范而被拒绝;那是制表业有意沿用的传统,并非标准记法。
计算示例:2026 = MM(2000)+ XX(20)+ VI(6)→ MMXXVI。反向读取:从左到右扫描并加上每个符号;较小符号位于较大符号之前时则做减法——M(1000)+ M(1000)+ X(10)+ X(10)+ V(5)+ I(1)= 2026。
已发布测试向量——每项均通过在线工具验证:2026 ↔ MMXXVI · 1999 ↔ MCMXCIX · LIV ↔ 54 · 接受的上限为 3999(MMMCMXCIX)· IIII 会因不规范而被拒绝,同时清空数字字段,不会显示幽灵值。最后验证:2026-08-12。
常见问题
为什么 1999 写作 MCMXCIX,而不是 IMM 或 MIM?
减法记数法仅允许六组固定组合:IV、IX、XL、XC、CD、CM。I 只能放在 V 或 X 前面,绝不能放在 M 前面。因此 1999 分解为 M(1000)+ CM(900)+ XC(90)+ IX(9)。IMM 这类简写看似巧妙,却从来不是规范体系的一部分。
为什么钟面用 IIII 而不是 IV?
手表和钟面传统上会用 IIII,与对面的 VIII 形成视觉平衡;这是延续数百年的设计惯例。在标准记法中,IIII 无效:I 最多重复三次,因此 4 始终写作 IV。
为什么到 3999 就停止?
因为 M 最多只能连续出现三次,而且没有更大的单个符号。历史文献会在数字上方加横线(vinculum),表示乘以 1000;但纯文本和大多数字体无法可靠表示,因此规范转换器的上限是 MMMCMXCIX = 3999。
罗马数字中有零吗?
没有。罗马数字体系早于把零视为数字的概念;中世纪学者在需要表示零时会写拉丁词“nulla”或 N。因此,本转换器的范围从 1 开始。
输入罗马数字时区分大小写吗?
不区分;mmxxvi 和 MMXXVI 的读取结果相同。转换器会先统一大小写再校验,输出始终为大写,这也是约定俗成的书写形式。
最后更新: