Bejárat > PHP programozás, Uncategorized > Arab számból római szám php – vel

Arab számból római szám php – vel

Ma találkoztam életemben először ezzel a komoly problémával. Hogyan váltom egyszerűen az arab számokat római számmá. Tudomásom szerint ilyen függvény a php-ben nincs még, ezért a következő php kódsort ajánlom mindenkinek.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//A function bemenete egy arab szám.Pl: 1, 21,12 a kimenete pedig ez: X,XXI,XII
 function roman($num)
 {
 
     $n = intval($num);
     $result = '';      
     $lookup = 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); 
     foreach ($lookup as $roman => $value)
     {         
         $matches = intval($n / $value);
         $result .= str_repeat($roman, $matches);
         $n = $n % $value;
     }     
     return $result;
 }

Példa a használatára:

1
2
3
4
5
6
7
echo"<select name='time'>";
$i = 1;
while($i<=20){
echo"<option value='".$i."'>".roman($i)."</option>";
$i++;
}
echo"</select>";
  1. május 5th, 2010 05:24-nél | #1

    It is an enormous number — 1 billion+. Is there a more detail available?

  1. Még nincsenek visszakövetések