De numeros a letras en PHP

En ocaciones tuve la necesidad de pasar de números a letras con ASP ,que lo dejaré para un proximo post. Ahora comparto las mismas funciones pero para PHP. Es útil, esencialmente cuando queremos representar el dinero en letras o números altos donde necesariamente debemos pasarlo a texto. La funcion es sumamente fácil de usarlo en, principio solo debemos pasar el número de esta manera:
echo convertir($numero);
donde $numero es la variable que lo contiene. La función a ejecutar, previa recepción de la variable queda de esta forma:
function convertir($numero){
$numf = milmillon($numero);
return $numf;
}
La funcion del milmillon:
function milmillon($nummierod){
if ($nummierod >= 1000000000 && $nummierod <2000000000){
$num_letrammd = "MIL ".(cienmillon($nummierod%1000000000));
}
if ($nummierod >= 2000000000 && $nummierod <10000000000){
$num_letrammd = unidad(Floor($nummierod/1000000000))." MIL ".(cienmillon($nummierod%1000000000));
}
if ($nummierod < 1000000000)
$num_letrammd = cienmillon($nummierod);
return $num_letrammd;
}
Ahora la del cienmillon:
function cienmillon($numcmeros){
if ($numcmeros == 100000000)
$num_letracms = "CIEN MILLONES";
if ($numcmeros >= 100000000 && $numcmeros <1000000000){
$num_letracms = centena(Floor($numcmeros/1000000))." MILLONES ".(millon($numcmeros%1000000));
}
if ($numcmeros < 100000000)
$num_letracms = decmillon($numcmeros);
return $num_letracms;
}
Por supuesto la decena del millon:
function decmillon($numerodm){
if ($numerodm == 10000000)
$num_letradmm = "DIEZ MILLONES";
if ($numerodm > 10000000 && $numerodm <20000000){
$num_letradmm = decena(Floor($numerodm/1000000))."MILLONES ".(cienmiles($numerodm%1000000));
}
if ($numerodm >= 20000000 && $numerodm <100000000){
$num_letradmm = decena(Floor($numerodm/1000000))." MILLONES ".(millon($numerodm%1000000));
}
if ($numerodm < 10000000)
$num_letradmm = millon($numerodm);
return $num_letradmm;
}
Llegamos a las del millon:
function millon($nummiero){
if ($nummiero >= 1000000 && $nummiero <2000000){
$num_letramm = "UN MILLON ".(cienmiles($nummiero%1000000));
}
if ($nummiero >= 2000000 && $nummiero <10000000){
$num_letramm = unidad(Floor($nummiero/1000000))." MILLONES ".(cienmiles($nummiero%1000000));
}
if ($nummiero < 1000000)
$num_letramm = cienmiles($nummiero);
return $num_letramm;
}
El resto del código en archivo de descarga.
-Editado- Faltaba los decimales, gracias Cristian (@dreamcoders) por el aporte de los decimales.
Espero les sea de utilidad, como siempre les dejo la Descarga del codigo. Cualquier duda o sugerencia haganlo en los comentarios saludos y hasta un próximo post
.
También te puede Interesar
¿Disfrutaste esta entrada? Por qué no dejas un comentario abajo y continúas la conversación, o te suscribes a mi feed y obtienes artículos como este enviados a tu lector de feeds.



muchas gracias, ha sido de mucha ayuda