Перевод римских чисел в обычные (Roman -> Arabic/Integer)
1 августа 2021
Функция переводит строку с римским числом в арабский вариант. Например, число XXXIII будет переведёно в 33
Код на PHP:
Код на PHP:
<?
/**
* Переводит число из римской записи в арабскую (обычную) запись
* @param string $s - римское число
* @return int
*/
function romanToInt($s)
{
$r = 0;
$s = str_replace(array(
'IV',
'IX',
'XL',
'XC',
'CD',
'CM',
'I',
'V',
'X',
'L',
'C',
'D',
'M',
), array(
' 4 ',
' 9 ',
' 40 ',
' 90 ',
' 400 ',
' 900 ',
' 1 ',
' 5 ',
' 10 ',
' 50 ',
' 100 ',
' 500 ',
' 1000 ',
), $s);
$s = explode(' ', $s);
foreach($s as $v)
{
$v = (int)$v;
$r = $r + $v;
}
return $r;
}
?>