toolfree

罗马数字

在浏览器里把数字与罗马数字互转,使用减法形式,并说明 3999 这个上限的真正原因。

在你的浏览器中运行

请输入一个数字。

七个字母

I 1 · V 5 · X 10 · L 50 · C 100 · D 500 · M 1000

其他所有数字都由这些组成,由大到小排列,而真正做事的只有一条规则。

减法规则

把较小的数字放在较大的前面,就是要从它里面减掉。所以 4 是 IV 而不是 IIII,9 是 IX。每一个数量级都一样:40 是 XL,90 是 XC,400 是 CD,900 是 CM

合法的组合只有六种——IVIXXLXCCDCM——因为只有 I、X、C 可以被减,而且只能 从往上两级之内的数字里减。49 写成 IL 是错的,正确写法是 XLIX

这里的输入也接受加法形式,因为钟面上的 4 是 IIII。没有人完全确定原因,最常见的解释是 为了和对面的 VIII 在视觉上取得平衡。

为什么上限是 3999

这是真正的限制,不是偷懒。

古典罗马数字没有代表 5000 的字母。要写 4000,你要嘛用 MMMM——这违反了「同一个字母不能 连续超过三次」——要嘛用 vinculum,也就是在字母上方画一条横线表示乘以一千。那条横线不是能 打出来的字元,而 Unicode 的组合上划线在各处呈现得并不一致。

所以 4000 以上会被拒绝,而不是给你一个近似值。输出 MMMM 等于发明一个这套系统里不存在的 写法。

没有零

罗马数字没有零,也没有办法表达零。这个概念是随着阿拉伯数字传入欧洲的,那时这套系统已经日常 使用了好几个世纪。负数与分数同样不存在——罗马人有分数,但那是另一套十二进位的记法,有自己的 符号。

没有任何上传

在这个页面里转换。