Home » Numbers » Numbers_Roman » Manual
Numbers_Roman provides methods to convert Arabic numbers like 23 into Roman numerals like XXIII and back.
Converting Arabic to Roman Numerals
Both class methods are static; you do not need to instantiate an object.
The static method toNumeral does exactly this.
It can be used for numbers from 1 to
5 999 999.
Using it to convert higher numbers works, but does not produce historically
correct results.
The second parameter $uppercase determines if the letters
should be UPPERCASE (default) or not.
Parameter number 3 sets if HTML code for overscores shall be generated;
this is necessary for numbers greater than 3999. If the parameter is set to
false, letters will be prefixed with an underscore _.
Converting Arabic numbers to Roman numerals
<?php
require_once 'Numbers/Roman.php';
echo Numbers_Roman::toNumeral(23);
//returns: XXIII
echo Numbers_Roman::toNumeral(23, false);
//returns: xxiii
?>
Converting Roman Numerals to Arabic numbers
Using the static method toNumber you can convert Roman
numerals like XLII to Arabic numbers like
42.
Letters prefixed with an underscore represent numbers larger than 1000.
| Roman | Arabic |
|---|---|
| I | 1 |
| V | 5 |
| X | 10 |
| L | 50 |
| C | 100 |
| D | 500 |
| M | 1000 |
| S, _V | 5000 |
| R, _X | 10 000 |
| P, _L | 50 000 |
| Q, _C | 100 000 |
| O, _D | 500 000 |
| N, _M | 1 000 000 |
Converting Roman numerals to Arabic numbers
<?php
require_once 'Numbers/Roman.php';
echo Numbers_Roman::toNumber('XLII');
//returns: 42
?>