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:recursosIprogramacionITrucosTecnicosIservicios gratisITowns 2.0IcursosI pueblos españa 2.0
noticias:SaludIcineIIMotorIDeportesIJuegosIFinanzasIMovilesIEnergiaIEcologiaITechIMujerIMACIIViajesINegociosIprog.net
Pueblos de: Andalucia-Aragon-Asturias-Baleares-Canarias-Cantabria-Castilla la mancha-Castilla Leon-extremadura-Galicia-la Rioja-Madrid-Murcia-Pais Vasco -
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