说明:在写解释器模式的例子程序中使用到了罗马数字,在此处做简单介绍。

一、简介

罗马数字是最早的数字表示方式,比阿拉伯数字早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