📝 博客 · 2026-08-02 · ⏱ 13 分钟

罗马数字转换:1-3999

罗马数字转换教程:1-3999 范围内阿拉伯数字与罗马数字互转,时钟、章节、序号场景应用。

罗马数字数字转换在线工具符号

罗马数字转换:1-3999

时钟表盘、书籍章节、电影版权年份——罗马数字仍常见。本文详解罗马数字与阿拉伯数字互转。

什么是罗马数字?

罗马数字是古罗马使用的数字系统:

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

罗马数字规则

基本符号

符号
I1
V5
X10
L50
C100
D500
M1000

规则

#### 1. 加法

相同或从大到小的符号从左到右排列,值相加:

VI = 5 + 1 = 6
XV = 10 + 5 = 15
LVIII = 50 + 5 + 1 + 1 + 1 = 58

#### 2. 减法

小符号在大符号前表示减:

IV = 5 - 1 = 4
IX = 10 - 1 = 9
XL = 50 - 10 = 40
XC = 100 - 10 = 90
CD = 500 - 100 = 400
CM = 1000 - 100 = 900

#### 3. 重复限制

III = 3 ✓
IIII = 4 ✗(应该用 IV)
VV = 10 ✗(应该用 X)

#### 4. 减法限制

只能减 1 个数量级:

IV = 4 ✓
IX = 9 ✓
IC = 99 ✗(应该用 XCIX)

减法只能:

常见数字对照

1-20

数字罗马数字罗马
1I11XI
2II12XII
3III13XIII
4IV14XIV
5V15XV
6VI16XVI
7VII17XVII
8VIII18XVIII
9IX19XIX
10X20XX

十位

数字罗马
10X
20XX
30XXX
40XL
50L
60LX
70LXX
80LXXX
90XC
100C

百位

数字罗马
100C
200CC
300CCC
400CD
500D
600DC
700DCC
800DCCC
900CM
1000M

整年

年份罗马
1990MCMXC
2000MM
2024MMXXIV
2026MMXXVI
3999MMMCMXCIX

52tool 罗马数字转换

工具地址:Unicode 工具(含罗马数字)

功能

实战 1:数字转罗马

输入:

2026

输出:

MMXXVI

实战 2:罗马转数字

输入:

MCMXC

输出:

1990

罗马数字的应用

1. 时钟表盘

传统时钟用罗马数字 I-XII:

I II III IV V VI VII VIII IX X XI XII

2. 书籍章节

前言、附录用罗马数字:

Chapter I: Introduction
Chapter II: Methods
Chapter III: Results

3. 电影版权

电影结尾版权年份:

© MMXXIV

4. 君主编号

Elizabeth II(伊丽莎白二世)
Louis XIV(路易十四)
Pope John Paul II(若望保禄二世)

5. 体育赛事

Super Bowl LVIII(第 58 届超级碗)
Olympics XXIII(第 23 届奥运会)

6. 建筑物楼层

欧洲传统建筑地下层用罗马数字。

7. 化学元素周期表

老版本用罗马数字标记族:

族 I:碱金属
族 II:碱土金属
族 VII:卤素
族 VIII:贵金属

现代用阿拉伯数字 1-18。

8. 医学

Stage III cancer(三期癌症)
Type II diabetes(II 型糖尿病)

编程实现

JavaScript

function intToRoman(num) {
  const values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  const symbols = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
  
  let result = '';
  for (let i = 0; i < values.length; i++) {
    while (num >= values[i]) {
      result += symbols[i];
      num -= values[i];
    }
  }
  return result;
}

function romanToInt(roman) {
  const map = { 'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000 };
  
  let result = 0;
  for (let i = 0; i < roman.length; i++) {
    const current = map[roman[i]];
    const next = map[roman[i + 1]];
    
    if (next && current < next) {
      result += next - current;
      i++;
    } else {
      result += current;
    }
  }
  return result;
}

console.log(intToRoman(2026));  // MMXXVI
console.log(romanToInt('MCMXC'));  // 1990

Python

def int_to_roman(num):
    values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
    symbols = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
    
    result = ''
    for i, value in enumerate(values):
        while num >= value:
            result += symbols[i]
            num -= value
    return result

def roman_to_int(roman):
    roman_map = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
    
    result = 0
    prev = 0
    for char in reversed(roman):
        value = roman_map[char]
        if value < prev:
            result -= value
        else:
            result += value
        prev = value
    return result

print(int_to_roman(2026))  # MMXXVI
print(roman_to_int('MCMXC'))  # 1990

Java

public String intToRoman(int num) {
    int[] values = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
    String[] symbols = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
    
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < values.length; i++) {
        while (num >= values[i]) {
            sb.append(symbols[i]);
            num -= values[i];
        }
    }
    return sb.toString();
}

罗马数字的局限

1. 范围有限

标准罗马数字最大 3999(MMMCMXCIX)。更大需要特殊符号(如上方横线表示 1000 倍)。

2. 无 0

罗马数字没有 0。这限制数学运算。

3. 运算困难

加减乘除罗马数字很难心算。阿拉伯数字取代的原因之一。

4. 长度

大数字罗马表示很长:

3999 → MMMCMXCIX(9 字符)

阿拉伯数字 4 字符。

扩展罗马数字

上划线

上方横线表示 1000 倍:

V̄ = 5 × 1000 = 5000
X̄ = 10 × 1000 = 10000

括号

古代用括号表示大数:

(V) = 5000
(X) = 10000
((X)) = 100000

但很少用。

实战场景

场景 1:年份显示

2026 → MMXXVI

用于版权、纪念物、纪念碑。

场景 2:书籍前言

Preface ... v
Acknowledgments ... vii
Table of Contents ... ix

前言用小写罗马数字(i, ii, iii...)。

场景 3:建筑物标牌

Building erected MDCCCXCIX(1899 年建造)

场景 4:电影版权

© MMXXIV Studio Name

场景 5:体育赛事

Super Bowl LVIII

场景 6:考试题号

Question I: ...
Question II: ...
Question III: ...

场景 7:君主编号

Charles III(查尔斯三世)

与其他工具配合

罗马数字 + Unicode

工具:Unicode 工具

罗马数字有 Unicode 字符:

但这些 Unicode 字符兼容性差,建议用 ASCII 字母 I、V、X、L、C、D、M。

罗马数字 + 数字转换

工具:单位换算

进制转换、单位换算等数字处理。

常见问题

Q: 罗马数字有 0 吗?

A: 没有。罗马数字系统中不存在 0。

Q: 罗马数字最大表示多少?

A: 标准罗马数字 3999(MMMCMXCIX)。更大用上划线(每条 = × 1000)。

Q: 为什么时钟用 IIII 而不是 IV?

A: 传统美学原因(对称)。也叫"clockmaker's IV"。

Q: 罗马数字大写还是小写?

A: 通常大写。书籍前言页码常用小写(i, ii, iii)。

Q: 4 是 IV 还是 IIII?

A: 标准是 IV。时钟传统用 IIII。两者都可接受。

Q: 工具会泄露我的内容吗?

A: 52tool 罗马数字转换在浏览器端运行,输入不上传服务器。

常见问题解答

Q: 怎么把 2026 转罗马数字?

A: 用 52tool 罗马数字工具:输入 2026,输出 MMXXVI。

Q: 怎么把 MMXXVI 转数字?

A: 同工具,输入罗马数字,输出 2026。

Q: 3999 怎么写?

A: MMMCMXCIX。MMM(3000) + CM(900) + XC(90) + IX(9)。

Q: 4000 怎么写?

A: 标准罗马数字无法表示。需要扩展符号(如 IV 上划线)。

Q: 怎么记忆罗马数字?

A: 记 7 个基本符号(I=1, V=5, X=10, L=50, C=100, D=500, M=1000)和减法规则(小在大前则减)。

Q: 罗马数字还在用吗?

A: 还在某些场景:时钟、书籍章节、版权年份、君主编号、体育赛事。

总结

罗马数字转换是小众但实用工具:

记住:7 个基本符号减法只在小前一位最大 3999