跳到主要内容

免费罗马数字转换器

将数字转换为罗马数字,反之亦然。标准数字涵盖 1–3999,上划线符号将范围扩展至 3,999,999。

加载后可离线使用
罗马数字
MMXXVI
分解
MM2000+XX20+V5+I1

常用值

参考表 (点击复制)

罗马数字规则: I=1, V=5, X=10, L=50, C=100, D=500, M=1000。

减法记数法:IV=4, IX=9, XL=40, XC=90, CD=400, CM=900。标准数字上限为 MMMCMXCIX (3999)。

上划线: 数字上方的横线表示该数字乘以 1000(V̅ = 5000, X̅ = 10000, M̅ = 1,000,000),可将范围扩展至 3,999,999。

常见用途

  • 将日期转换为罗马数字用罗马数字书写年份、婚礼日期和周年纪念日,用于邀请函和纪念设计。
  • 大纲和文档的罗马数字为文档大纲、章节和正式的章节编号生成正确的罗马数字。
  • 解码电影和电视中的罗马数字解码罗马数字续集编号、超级碗版本和电影版权年份。
  • 学习用于学校的罗马数字练习罗马数字和十进制数之间的转换,用于历史、数学和古典研究。
  • 设计和纹身的罗马数字获取精确格式化的罗马数字,用于平面设计、钟面、纹身和单字母缩写。

工作原理

所有转换都通过手写的零依赖算法在你的浏览器中运行——不发出服务器请求。一个包含 13 个符号-数值对(M=1000 到 I=1)的固定查找表驱动双向转换,规范性校验会对结果做往返转换以拒绝非标准输入。

  1. 1
    查找表驱动转换
    工具按降序定义 13 个符号-数值对——M、CM、D、CD、C、XC、L、XL、X、IX、V、IV、I。要转换十进制数,它遍历此列表,反复减去每个值并追加对应的符号,这就是标准的罗马数字贪心算法。
  2. 2
    反向转换时的规范性校验
    将罗马数字转换回数字时,解析器使用减法规则(较小的值位于较大的值之前时相减而非相加),然后立即重新编码结果并与原始输入比较。任何非规范的字符串——例如用 IIII 代替 IV——都会被拒绝。
  3. 3
    上划线表示法将范围扩展到 3,999,999
    大于 3,999 的数字使用上划线(vinculum)表示法:千位部分转换为基本罗马数字,然后在每个字母后附加 Unicode 组合上划线字符(U+0305),呈现表示乘以 1,000 的传统上划线。例如,5,000 显示为带上划线的 V。
  4. 4
    日期模式分别转换每个部分
    在日期模式中,工具将所选日期解析为日、月、年整数,用同一个 toRoman 函数分别转换,然后按所选顺序(DMY、MDY 或 YMD)用所选分隔符(间隔点、连字符、斜杠或空格)连接。

相关工具

常见问题