Пример простой фукнции на PHP для перевода (конвертации) арабских чисел в римские. Другими словави перевода цифр вида 1, 10, 6 в цифри вида I, X, VI.
function number_to_roman($value)
{
if($value<0) return "";
if(!$value) return "0";
$thousands=(int)($value/1000);
$value-=$thousands*1000;
$result=str_repeat("M",$thousands);
$table=array(
900=>"CM",500=>"D",400=>"CD",100=>"C",
90=>"XC",50=>"L",40=>"XL",10=>"X",
9=>"IX",5=>"V",4=>"IV",1=>"I");
while($value) {
foreach($table as $part=>$fragment) if($part<=$value) break;
$amount=(int)($value/$part);
$value-=$part*$amount;
$result.=str_repeat($fragment,$amount);
}
return $result;
}
Пример использования:
echo number_to_roman(21);
Рузальтат работы: XXI
