Números romanos con PHP

Números romanos con PHP

PHP

Si necesitamos convertir un número normal en número romano podremos hacerlo desarrollando una pequeña función como la de este ejemplo.

La función recibe un dato de tipo entero y la transforma en su reperentación en número romano.

Si la utilizamos en un bucle, podremos mostrar distintos ragos de números.

100 primeros números en romano

En este ejemplo mostramos cómo imprimir por pantalla los 100 primeros números en formato romano.

<?php 

function convertirRomano(int $num){
    if($num <= 0) return "-";
    
    $conversion = 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
        );
    
    $romano = ''; 
    foreach ($conversion as $en_romano => $normal) {
        $matches = (int) $num / $normal;
        $romano .= str_repeat($en_romano, $matches);
        $num = $num % $normal;
    }

    return $romano;
}


for($i=1; $i<100; $i++){
    echo sprintf("<p>El número %i en romano es: %s</p>", $i, convertirRomano($i));
}

?>

Leave a reply