Esta função serve para gerar números Romanos em PHP (com letras maiúsculas). Para converter para minúsculas, basta usar a função strtolower.
Linguagem: PHP
Copyright 2011 Rubens Takiguti Ribeiro
Licença: LGPL 3 ou superior
/** * Converte de numero arabico para romano * @param int $numero numero arabico * @return string numero romano em letras maiusculas */ function numero_romano($numero) { if ($numero <= 0 || $numero > 3999) { return $numero; } $n = (int)$numero; $y = ''; // Nivel 1 while (($n / 1000) >= 1) { $y .= 'M'; $n -= 1000; } if (($n / 900) >= 1) { $y .= 'CM'; $n -= 900; } if (($n / 500) >= 1) { $y .= 'D'; $n -= 500; } if (($n / 400) >= 1) { $y .= 'CD'; $n -= 400; } // Nivel 2 while (($n / 100) >= 1) { $y .= 'C'; $n -= 100; } if (($n / 90) >= 1) { $y .= 'XC'; $n -= 90; } if (($n / 50) >= 1) { $y .= 'L'; $n -= 50; } if (($n / 40) >= 1) { $y .= 'XL'; $n -= 40; } // Nivel 3 while (($n / 10) >= 1) { $y .= 'X'; $n -= 10; } if (($n / 9) >= 1) { $y .= 'IX'; $n -= 9; } if (($n / 5) >= 1) { $y .= 'V'; $n -= 5; } if (($n / 4) >= 1) { $y .= 'IV'; $n -= 4; } // Nivel 4 while ($n >= 1) { $y .= 'I'; $n -= 1; } return $y; }
1 comentário
Tava tentando fazer uma função no mysql pra isso.
Gostei bastante da tua lógica, vou seguir ela pra fazer!
Obrigado, Rubens!
Postar um comentário
Nota: fique a vontade para expressar o que achou deste artigo ou do blog.
Dica: para acompanhar as respostas, acesse com uma conta do Google e marque a opção "Notifique-me".
Atenção: o blogger não permite inclusão de tags nos comentários, por isso, use algum site externo para postar seu código com dúvidas e deixe o link aqui. Exemplo: pastebin.com