Tutoriales de programacion
Manuales - Diseño - Recursos - Codigo Fuente - Foros - Herramientas - Libros - Trucos - Software - cursospropios - direct.
Codigo: volver a home - allscripts - asp - php - vb - perl - tips&tricks
Codigo Fuente en PHP
 
PHP Code
Conversion de numeros decimales a romanos PHP Code

Descripcion:Este codigo convierte numeros decimales a romanos

Lenguaje: PHP

Codigo Fuente
Copiar los codigos y pegar

/* ------------------------------------------------------- */
/* -- FUNCIÓN QUE CONVIERTE NUMEROS DECIMALES A ROMANOS -- */
/* --------- http://www.lawebdelprogramador.com ---------- */
/* --------------------------------------------------------*/

function decimal_romano($numero)
{
$numero=floor($numero);
if($numero<0)
{
$var="-";
$numero=abs($numero);
}
# Definición de arrays
$numerosromanos=array(1000,500,100,50,10,5,1);
$numeroletrasromanas=array("M"=>1000,"D"=>500,"C"=>100,"L"=>
50,"X"=>10,"V"=>5,"I"=>1);
$letrasromanas=array_keys($numeroletrasromanas);

while($numero)
{
for($pos=0;$pos<=6;$pos++)
{
$dividendo=$numero/$numerosromanos[$pos];
if($dividendo>=1)
{
$var.=str_repeat($letrasromanas[$pos],floor($dividendo));
$numero-=floor($dividendo)*$numerosromanos[$pos];
}
}
}
$numcambios=1;
while($numcambios)
{
$numcambios=0;
for($inicio=0;$inicio<strlen($var);$inicio++)
{
$parcial=substr($var,$inicio,1);
if($parcial==$parcialfinal&&$parcial!="M")
{
$apariencia++;
}else{
$parcialfinal=$parcial;
$apariencia=1;
}
# Caso en que encuentre cuatro carácteres seguidos iguales.
if($apariencia==4)
{
$primeraletra=substr($var,$inicio-4,1);
$letra=$parcial;
$sum=$primernumero+$letternumero*4;
$pos=busqueda($letra,$letrasromanas);
if($letrasromanas[$pos-1]==$primeraletra)
{
$cadenaant=$primeraletra.str_repeat($letra,4);
$cadenanueva=$letra.$letrasromanas[$pos-2];
}else{
$cadenaant=str_repeat($letra,4);
$cadenanueva=$letra.$letrasromanas[$pos-1];
}
$numcambios++;
$var=str_replace($cadenaant,$cadenanueva,$var);
}
}
}
return $var;
}

function busqueda($cadenanueva,$array)
{
foreach($array as $contenido)
{
if($contenido==$cadenanueva)
{
return $pos;
}
$pos++;
}
}

Codigo perteneciente a Lawebdelprogramador

  Colabora con nosotros envianos tu codigo

 
Untitled Document
en esta seccion
Codigo de JavaScript
javascripts
Codigo de ASP
todo en asp
Codigo de PHP
todo en php
Codigo de VBasic
visual basic
Codigo de Perl
codigo en php
Codigo de VFox
codigo en php
Codigo de mySQL
codigo en php
Codigo de Oracle
codigo en php
Tips&Tricks
codigo en php
 
   

 

 

 

links programacion
Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSLI pueblos 2.0 I
Areas exclusivas: tutoriales I cursos I ofertas I adsl I reproductores dvd I Formación Iwebtutoriales
Otros: SMSarea I tutoriales I DIVXarea I tutoriales I trucos de windows Igooglemania Iofertas I programatium.net I canal compras I
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales
stats