Tutoriales
manuales, tutoriales, programacion programming tutorials, programming manuals
 
Registrate gratis
45.000 registrados
,
Tutoriales - Diseño - Trucos - Foros/Comunidad - Software - Recursos - HerramientasOnline - Biblioteca
Webmasters - Codigo Fuente - Libros - Cursos Propios - Comunidad -
Codigo Fuente: volver a home de codigo - 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

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
 
   

 

 

 

Recomedamos: programatium I solorecursos I tutoriales I cursos becas masters I directorio de ofertas
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7