piapia123
zh

罗马数字转换

转换

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

两个方向都支持:输入 `2026` 得到 `MMXXVI`,输入 `MCMXCIV` 得到 `1994`(方向是自动判断的)。除了转换,另一半价值在检查:`IIII`、`VX`、`IIX` 这些写法能算出一个数,但不标准,很多表单与系统会拒掉它们。工具会把问题指出来并给出标准写法 —— 只回一句「格式错误」,用户只能猜。另外每行都给出拆解(`M = 1000 + C = 100 + …`),方便核对为什么是这个结果。一次可以转多个值,用空格或逗号分开。

功能

  • 双向转换,方向自动判断(也可以强制指定)
  • 一次转多个值:空格、逗号、顿号分隔都认
  • 非标准写法会指出问题所在与标准写法
  • 给出拆解过程(M = 1000 + X = 10 + …)便于核对
  • 严格校验减法规则:只允许 IV、IX、XL、XC、CD、CM
  • 同一符号重复次数超出标准(如 IIII)会被点出来
  • 每行可单独复制,也可复制全部

使用方法

  1. 输入数字或罗马数字(可一次输多个)
  2. 结果与拆解立刻出现
  3. 需要说明方向就切换「转换方向」
  4. 点行末的复制按钮取走单个结果

常见问题

为什么 4000 以上转不了?
因为标准罗马数字只到 3999(MMMCMXCIX)。更大的数需要「上划线」表示乘一千(V̅ = 5000),而那是排版符号:在不同字体与系统里显示效果不一致,纯文本里基本无法可靠传递。所以这里明确不转,而不是硬拼出一个 `MMMM` —— 那既不是标准写法,也会被系统拒掉。
钟表上的 4 为什么写成 IIII 而不是 IV?
那是钟表业的传统(叫「钟表匠的四」),原因说法不一:有说是为了与 VI 在视觉上对称,有说是为了少刻一个 V 的模具。总之它是工艺惯例,不是标准写法 —— 正式的文书与表单里 4 都写 IV。这个工具按标准判断,所以会把 IIII 标为非标准(并告诉你标准是 IV);但如果你是在看钟表,那本来就该是 IIII。
IIX 到底是 8 还是 10?
这个工具按标准的逐对读法给出 10(I + IX),并指出它不是标准写法。古罗马确实用过「双重减法」(IIX = 8、XXC = 180 这类),但那个用法今天已经不在规范里,而且两种读法给出的数字完全不同 —— 所以工具必须选一个并说清是哪个,不能默默猜。要写 8,标准写法是 VIII。
能一次转一批吗?
可以。用空格、英文逗号、中文逗号或顿号分隔,一次几十个都没问题(每一行独立成段,可以单独复制)。转年份列表、章节号这类成批的数字时很方便。

相关工具