Перевод обычного числа в римское (Arabic/Integer -> Roman)
1 августа 2021
Функция переводит обычное (арабское) число в римское. Например, 2021 преобразуется в MMXXI
Код на PHP:
Код на PHP:
<?
/**
* Возвращает римскую запись арабского числа
* @param int $num - арабское число
* @return string
*/
function intToRoman($num)
{
$r = '';
$ar_rom = array(
'M' => 1000,
'CM' => 900,
'D' => 500,
'CD' => 400,
'C' => 100,
'XC' => 90,
'L' => 50,
'XL' => 40,
'X' => 10,
'IX' => 9,
'V' => 5,
'IV' => 4,
'I' => 1,
);
$current_num = $num;
foreach($ar_rom as $sign => $value)
{
$a = $current_num % $value;
$b = ($current_num - $a) / $value;
$current_num = $a;
for($i=0; $i<$b; $i++)
{
$r .= $sign;
}
if($current_num==0) break;
}
return $r;
}
?>