SprintDevelop.com - Diseño y desarrollo web - Diseño, desarrollo web,Aplicaciones Móviles, TabletasSprintDevelop.com - Diseño y desarrollo web
Mostrando Codigo - Php

Funcion para convertir numeros a numeros romanos

Estas lineas de codigo consiguen convertir un numero a numeros romanos.
Visitas: 99463 - 26/06/2004 23:04:47
CODIGO NO EJECUTABLENO CONTIENE ARCHIVO DESCARGABLE
EXPLICACION

En el ejemplo mostramos:

 753  -el resultado seria-  DCCLIII

Si ejecutan la demostracion podran ver el funcionamiento
CODIGO
Codigo probado en Internet Explorer 4++Codigo probado en Mozilla FirefoxCodigo probado en NetscapeCodigo probado en OperaCodigo probado en Safari


' Codigo ofrecido por Tutores.org
<-- Codigo ofrecido por Tutores.org -->
<?
function to_roman($num) {
if ($num <0 || $num >9999) {return -1;}
$r_ones = array(1=>"I", 2=>"II", 3=>"III", 4=>"IV", 5=>"V", 6=>"VI", 7=>"VII", 8=>"VIII",
9=>"IX");
$r_tens = array(1=>"X", 2=>"XX", 3=>"XXX", 4=>"XL", 5=>"L", 6=>"LX", 7=>"LXX",
8=>"LXXX", 9=>"XC");
$r_hund = array(1=>"C", 2=>"CC", 3=>"CCC", 4=>"CD", 5=>"D", 6=>"DC", 7=>"DCC",
8=>"DCCC", 9=>"CM");
$r_thou = array(1=>"M", 2=>"MM", 3=>"MMM", 4=>"MMMM", 5=>"MMMMM", 6=>"MMMMMM",
7=>"MMMMMMM", 8=>"MMMMMMMM", 9=>"MMMMMMMMM");
$ones = $num % 10;
$tens = ($num - $ones) % 100;
$hundreds = ($num - $tens - $ones) % 1000;
$thou = ($num - $hundreds - $tens - $ones) % 10000;
$tens = $tens / 10;
$hundreds = $hundreds / 100;
$thou = $thou / 1000;
if ($thou) {$rnum .= $r_thou[$thou];}
if ($hundreds) {$rnum .= $r_hund[$hundreds];}
if ($tens) {$rnum .= $r_tens[$tens];}
if ($ones) {$rnum .= $r_ones[$ones];}
return $rnum;
}
echo 'Inserta un numero en en formulario';
echo '<form method="post">
<input type="text"name="numero"/>
<input type="submit"value="Comprobar"/>
</form>';
if(is_numeric(@$_POST['numero'])){
echo 'En numeros romanos: '.to_roman(@$_POST['numero']);
}
?>

ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Funcion para convertir numeros a numeros romanos" href="http://www.tutores.org/codigo/1180/" target="_blank">Funcion para convertir numeros a numeros romanos</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Critico Acido
No sirve... como es posible que digan que 4000 se escribe MMMM ????... Son terrestres lo que escribieron esta tonteria ?
Tutores.org 19/04/2003
Hola Critico
Efectivamente el numero 4000 se escribia MMMM.!!
Con el paso de los tiempos todos los numeros a partir de 4000 se escriben con una raya encima (Mv)(no existe en el teclado) para asi evitar tener que escribir numeros con caracteres tan largos.

El numero 3999(MMMCMXCIX) seria el ultimo numero que hoy en dia se escribe con todos caracteres, aunque tambien es valido MMMM.

Ya que al parecer sabiamos esto de antemano(no como otros) podriamos afirmar que ... si!! somos terrestres! :-)
alex 09/08/2005 16.59.46
hola agradeceia mucho su ayuda no se comosacarle la numeracion romana alteclado y lo necesito gracias
KOBA 26-10-2007 21:54:51
hola amigos necesito q me expliquen mas o menos como hacer el programa de convertir numeros a numero romanos se los agradecere mucho de todas formas gracias
juanobo
hola amigos tengo el codigo en java para cnvertir numeros romanos a letras y visceversa envienme un correo a sistcompu y seguido el arroba en hotmail . com y ademas esta validado por si te equivocas en algo y te dice exactamente donde esta el error mi nombre J. Gabriel Vaz.
sara
el cero es convertible a numeros romanos???agradeceria una ayuda, gracias
diego 31-12-2007 10:37:04
el 10.000 seria X con la raya encima, no?
Estaria bien 2008 asi? MMVIII?
willson
por gfavor regalame la estrucctura para buscar un numero entero y transformarlo en numero romano para la aplicacion de eclipse en java.plis
ares
me parecio bueno el codigo, lo que la embarra es el array $r_thou, sabemos que no hay como mostrar la raya arriba creo que una buena idea seria mostrarla al lado ej: 9000 = -IX, haciendo la claridad del caso para que los que visiten la pagina entiendan el por que de esto y no se preste a la confusion de que se trata de un numero negativo o algo asi.
como dije antes me parece bueno tu codigo y te dejo este aporte espero te sirva y lo utilices.
lili 24-12-2008 13:47:58
hola quiero saber como se escribe 8754 en numeros romanos
Yoni Armando Portillo
hola su codigo es muy efectivo.
Hugo 24-05-2008 10:03:48
pregunto, para que inician post , invierten parte de su tiempo y luego lo olvidan... no contestaron una solo consulta!!
Eileen
Hola esesi que esta bueno yo craneandomela como hacer eese programa...aunque ese lenguaje nu lo entiendo mucho si entiendo la tematica..
PARA TODO AQUELOS QUE QUIERAN TRDUCIR UN NUMERO EN LA PARTE SUPERIOR EN EL LADO CONTRARIO SALA UN BOTON CON UNA LUPA ASCLICK INGRESA EL NUMERO Y LISTO
JUNIOR 10-10-2009 01:59:26
Hola gracias por tu aporte px man
yair
esta bueno excelente
me gustaria ver el codigo en java
para trabajar en eclipse
me ayudan
se lo agradezco
JUANCHO
Sakudi a todos, serian tan amable de pasarme el codigo en .javca.

gracias
edmmond
gracias. me servira de mucho
antonimo
quiero saber kual es la funcion de la raya que va arriba de los numeros romanos diganme =>
edwin 08-10-2009 03:47:01
la verdad buenaza y me sirvio pero la otra tarea es de convertir numero en letras pasemela porfi si
cejinas
quisiera saber como se convierte en numeros romanos los numeros: 987.654 y el numero 123.456
Sin definir
no hay algo mas fácil?
william99
como podre escribir el numero 9999 en numeros romanos de ante mano agradecerìa su pronta respuesta saludos
fernando lucena
como se escribe 4520 en numero romano
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.