罗马数字转换
阿拉伯数字与罗马数字互转(1 – 3999),校验标准减法写法、支持小写输出与批量处理,并给出千位/百位/十位/个位的逐位拆解。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
结果
输入数字或罗马数字后这里会显示结果
有效 0 行 · 无效 0 行
这个工具能做什么
- 看论文、纪念碑铭文、老电影版权年份里的罗马数字认不出来,粘进来直接得到阿拉伯数字。
- 写文案需要罗马数字时反向转换:1987 转成 MCMLXXXVII,还能勾选小写输出 mcmlxxxvii。
- 教学时用逐位拆解说明减法写法:1987 会拆成 M + CM + LXXX + VII,一眼看出 900 为什么写作 CM。
- 整理书稿、合同或章节编号时批量转换,一行一个值,数字和罗马数字混着填也能识别。
示例
输入
1987
输出
MCMLXXXVII(小写 mcmlxxxvii)· 逐位拆解:1000 → M,900 → CM,80 → LXXX,7 → VII
转换走标准减法写法(900 = CM、400 = CD、90 = XC、40 = XL、9 = IX、4 = IV),只支持 1 – 3999。
常见问题
为什么 IIII 和 IC 这样的写法会报错?
校验用的是「规范化比对」:先把罗马数字转成整数,再用标准写法把它转回来,两者不完全一致就判定为非规范写法。IIII 会被规范化成 IV,IL 会被规范化成 XLIX,所以都被拒绝。钟表盘上常见的 IIII 并不符合标准记数法。
为什么上限是 3999?
因为用字母 M、D、C、L、X、V、I 的标准写法最多能表示到 3999。4000 及以上需要在上方加横线表示乘以 1000,那是另一种记法,纯字母形式无法表达,所以直接拒绝而不是给出错误结果。
输入可以混合数字和罗马数字吗?
可以。批量模式下每行独立判断:整行是数字就转罗马数字,整行全是 IVXLCDM 字母就转数字,其它情况提示「既不是数字也不是罗马数字」。空行会被忽略,一次最多处理 200 行。
小写输出会影响反向转换吗?
不影响。解析时会先把输入统一转成大写再判断,所以 mcmlxxxvii 和 MCMLXXXVII 都能正确转成 1987,小写选项只影响输出形式。
会接受带空格或标点的输入吗?
会先去掉首尾空格,但内部字符必须全是 IVXLCDM 或全是数字。写成「M CM」这种带空格的会被判为非法输入,去掉空格再转即可。
关键词:roman罗马数字roman numeral转换converter数字转罗马减法写法批量