ToolBench

转换

罗马数字转换

只接受标准的减法记法:IV、IX、XL、XC、CD、CM。像 IIII 这种写法会被告知不合法,而不是悄悄当成 4——在核对建筑上的刻字年代时,这个区别很重要。

怎么用

  1. 输入数字或罗马数字都可以。
  2. 另一种形式会立刻显示出来。
  3. 有效范围是 1 到 3999,古典记法没有零和负数。
  4. 空格和句点会被忽略,MCMXCIV. 与 MCMXCIV 等价。

一个没有零、也没有位值的数字系统

罗马数字是加法为主、带减法简写:XIII 是十加三,IV 是五减一。它没有零的符号,也没有位值记法,所以用罗马数字做算术是真的难——把 XLII 乘以 XVII 需要算盘或者先转换,中世纪的商人正是这么干的。这套系统活下来靠的是记账和刻碑,而不是计算。

减法规则为什么存在

IIII 在钟面和罗马碑刻上都很常见,IV 是后来才成为标准,部分原因是它更短。那条规则——小符号只能出现在大符号之前、只能减一次、而且必须是十的幂——保证了表示的唯一性。没有它,8 可以写成 VIII、IIX 甚至 IIIIV。唯一性才是目的。

今天还在哪里见到它们

影视作品的版权年份、钟面、君主与教皇的序号、超级碗的届数,偶尔还有建筑落成铭文。钟面是最有意思的一例:多数钟表用 IIII 而不是标准的 IV,这个惯例早于减法记数法,能活下来是因为它和对面的 VIII 在视觉上更平衡。

转换范围止于 3999,因为标准记法里没有比 M 更大的符号。更大的数历史上用上划线表示乘以一千——本工具不做这种记法。

常见问题

为什么到 3999 为止?

古典罗马记法没有 5000 的符号,更大的数需要上划线,而浏览器对这种写法渲染不一致。这个范围内的表示是唯一的。

为什么不接受 IIII?

IIII 在钟面上出现过,但不是标准记法。这里遵循标准减法规则,4 写作 IV。所以它更适合用来校验,而不只是解码。

小写输入可以吗?

可以,mcmxciv 会被接受并规范成大写。

有零吗?

没有,罗马数字没有零。输入 0 会返回范围错误,这在历史上是正确的。

为什么有些钟表上 4 写成 IIII?

这是减法规则成为标准之前的铸造惯例;保留下来是因为 IIII 与表盘对面的 VIII 在视觉上更平衡。

最大能写到多少?

用标准符号是 3,999。历史上更大的数用上划线表示乘以一千,这不属于现代记法。