说明:在写解释器模式的例子程序中使用到了罗马数字,在此处做简单介绍。
一、简介
罗马数字是最早的数字表示方式,比阿拉伯数字早2000多年,起源于古罗马。
二、记数方法
1、对应关系
| 基本字符 | 对应的阿拉伯数字 |
| I | 1 |
| V | 5 |
| X | 10 |
| L | 50 |
| C | 100 |
| D | 500 |
| M | 1000 |
2、规则
- 相同的数字连写表示的数为这些数字相加的和,例如:III = 3;
- 小的数字在大的数字右边表示的数为这些数字相加的和,例如:VII = 7, XI = 11;
- 小的数字(仅限于I、X、C)在大的数字左边表示的数为大数减去小数的值,例如:IV = 4, XC = 90;
- 正常使用时,连写的数字重复不能超过3次;基本数字I、X、C中的任何一个放在大数左边时只能用一个;
- 在一个数的上面画一条横线,表示这个数字扩大1000倍;
- 基本数字V、L、D中的任何一个放在大数右边采用相加的方式构成数目时只能用一个。
三、举例
| 罗马数字 | 阿拉伯数字 |
| III | 3 |
| IV | 4 |
| VI | 6 |
| VIII | 8 |
| IX | 9 |
| 罗马数字 | 阿拉伯数字 |
| XIV | 14 |
| XXXVI | 36 |
| XL | 40 |
| LX | 60 |
| LXXXVIII | 88 |
| XCIX | 99 |
| 罗马数字 | 阿拉伯数字 |
| CXIV | 116 |
| CD | 400 |
| DC | 600 |
| DCCX | 710 |
| CM | 900 |
| CMXCIX | 999 |
| 罗马数字 | 阿拉伯数字 |
| MC | 1100 |
| MCDV | 1405 |
| MM | 2000 |
| MMMD | 3500 |
| MMMCMXCIX | 3999 |