Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2012, 12:25
jfgg01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 56
Antigüedad: 17 años
Puntos: 0
Funciones para convertir numeros a letras

Buen dia a todos...

Aqui les dejo unas funciones para convertir un numero a su correspondiente valor a letras.

Muy util si, como yo, estas haciendo un sistema para impresion de facturas y cheques.

Es simple pero util. De hecho pude haber utilizado la sentiencia "switch" pero en esta ocasion preferí el "if... elseif".

Si ayudo a ahorrarles algo de tiempo, pues EXCELENTE.

Buen karma para todos.

Código PHP:
<?php

/* Asi funciona
$numero = 13041111.22;
$cambio = valorEnLetras($numero);


echo "numero = $numero";
echo "<br>";
echo "cambio = $cambio";
*/


function valorEnLetras($x)
{
if (
$x<0) { $signo = "menos ";}
else      { 
$signo = "";}
$x = abs ($x);
$C1 = $x;

$G6 = floor($x/(1000000));  // 7 y mas

$E7 = floor($x/(100000));
$G7 = $E7-$G6*10;   // 6

$E8 = floor($x/1000);
$G8 = $E8-$E7*100;   // 5 y 4

$E9 = floor($x/100);
$G9 = $E9-$E8*10;  //  3

$E10 = floor($x);
$G10 = $E10-$E9*100;  // 2 y 1


$G11 = round(($x-$E10)*100,0);  // Decimales
//////////////////////

$H6 = unidades($G6);

if(
$G7==1 AND $G8==0) { $H7 = "Cien "; }
else {    
$H7 = decenas($G7); }

$H8 = unidades($G8);

if(
$G9==1 AND $G10==0) { $H9 = "Cien "; }
else {    
$H9 = decenas($G9); }

$H10 = unidades($G10);

if(
$G11 < 10) { $H11 = "0".$G11; }
else { 
$H11 = $G11; }

/////////////////////////////
    
if($G6==0) { $I6=" "; }
elseif(
$G6==1) { $I6="Millón "; }
         else { 
$I6="Millones "; }
         
if (
$G8==0 AND $G7==0) { $I8=" "; }
         else { 
$I8="Mil "; }
         
$I10 = "Pesos ";
$I11 = "/100 M.N. ";

$C3 = $signo.$H6.$I6.$H7.$I7.$H8.$I8.$H9.$I9.$H10.$I10.$H11.$I11;

return 
$C3; //Retornar el resultado

}

function 
unidades($u)
{
    if (
$u==0)  {$ru = " ";}
elseif (
$u==1)  {$ru = "Un ";}
elseif (
$u==2)  {$ru = "Dos ";}
elseif (
$u==3)  {$ru = "Tres ";}
elseif (
$u==4)  {$ru = "Cuatro ";}
elseif (
$u==5)  {$ru = "Cinco ";}
elseif (
$u==6)  {$ru = "Seis ";}
elseif (
$u==7)  {$ru = "Siete ";}
elseif (
$u==8)  {$ru = "Ocho ";}
elseif (
$u==9)  {$ru = "Nueve ";}
elseif (
$u==10) {$ru = "Diez ";}

elseif (
$u==11) {$ru = "Once ";}
elseif (
$u==12) {$ru = "Doce ";}
elseif (
$u==13) {$ru = "Trece ";}
elseif (
$u==14) {$ru = "Catorce ";}
elseif (
$u==15) {$ru = "Quince ";}
elseif (
$u==16) {$ru = "Dieciseis ";}
elseif (
$u==17) {$ru = "Decisiete ";}
elseif (
$u==18) {$ru = "Dieciocho ";}
elseif (
$u==19) {$ru = "Diecinueve ";}
elseif (
$u==20) {$ru = "Veinte ";}

elseif (
$u==21) {$ru = "Veintiun ";}
elseif (
$u==22) {$ru = "Veintidos ";}
elseif (
$u==23) {$ru = "Veintitres ";}
elseif (
$u==24) {$ru = "Veinticuatro ";}
elseif (
$u==25) {$ru = "Veinticinco ";}
elseif (
$u==26) {$ru = "Veintiseis ";}
elseif (
$u==27) {$ru = "Veintisiente ";}
elseif (
$u==28) {$ru = "Veintiocho ";}
elseif (
$u==29) {$ru = "Veintinueve ";}
elseif (
$u==30) {$ru = "Treinta ";}

elseif (
$u==31) {$ru = "Treintayun ";}
elseif (
$u==32) {$ru = "Treintaydos ";}
elseif (
$u==33) {$ru = "Treintaytres ";}
elseif (
$u==34) {$ru = "Treintaycuatro ";}
elseif (
$u==35) {$ru = "Treintaycinco ";}
elseif (
$u==36) {$ru = "Treintayseis ";}
elseif (
$u==37) {$ru = "Treintaysiete ";}
elseif (
$u==38) {$ru = "Treintayocho ";}
elseif (
$u==39) {$ru = "Treintaynueve ";}
elseif (
$u==40) {$ru = "Cuarenta ";}

elseif (
$u==41) {$ru = "Cuarentayun ";}
elseif (
$u==42) {$ru = "Cuarentaydos ";}
elseif (
$u==43) {$ru = "Cuarentaytres ";}
elseif (
$u==44) {$ru = "Cuarentaycuatro ";}
elseif (
$u==45) {$ru = "Cuarentaycinco ";}
elseif (
$u==46) {$ru = "Cuarentayseis ";}
elseif (
$u==47) {$ru = "Cuarentaysiete ";}
elseif (
$u==48) {$ru = "Cuarentayocho ";}
elseif (
$u==49) {$ru = "Cuarentaynueve ";}
elseif (
$u==50) {$ru = "Cincuenta ";}

elseif (
$u==51) {$ru = "Cincuentayun ";}
elseif (
$u==52) {$ru = "Cincuentaydos ";}
elseif (
$u==53) {$ru = "Cincuentaytres ";}
elseif (
$u==54) {$ru = "Cincuentaycuatro ";}
elseif (
$u==55) {$ru = "Cincuentaycinco ";}
elseif (
$u==56) {$ru = "Cincuentayseis ";}
elseif (
$u==57) {$ru = "Cincuentaysiete ";}
elseif (
$u==58) {$ru = "Cincuentayocho ";}
elseif (
$u==59) {$ru = "Cincuentaynueve ";}
elseif (
$u==60) {$ru = "Sesenta ";}

elseif (
$u==61) {$ru = "Sesentayun ";}
elseif (
$u==62) {$ru = "Sesentaydos ";}
elseif (
$u==63) {$ru = "Sesentaytres ";}
elseif (
$u==64) {$ru = "Sesentaycuatro ";}
elseif (
$u==65) {$ru = "Sesentaycinco ";}
elseif (
$u==66) {$ru = "Sesentayseis ";}
elseif (
$u==67) {$ru = "Sesentaysiete ";}
elseif (
$u==68) {$ru = "Sesentayocho ";}
elseif (
$u==69) {$ru = "Sesentaynueve ";}
elseif (
$u==70) {$ru = "Setenta ";}

elseif (
$u==71) {$ru = "Setentayun ";}
elseif (
$u==72) {$ru = "Setentaydos ";}
elseif (
$u==73) {$ru = "Setentaytres ";}
elseif (
$u==74) {$ru = "Setentaycuatro ";}
elseif (
$u==75) {$ru = "Setentaycinco ";}
elseif (
$u==76) {$ru = "Setentayseis ";}
elseif (
$u==77) {$ru = "Setentaysiete ";}
elseif (
$u==78) {$ru = "Setentayocho ";}
elseif (
$u==79) {$ru = "Setentaynueve ";}
elseif (
$u==80) {$ru = "Ochenta ";}

elseif (
$u==81) {$ru = "Ochentayun ";}
elseif (
$u==82) {$ru = "Ochentaydos ";}
elseif (
$u==83) {$ru = "Ochentaytres ";}
elseif (
$u==84) {$ru = "Ochentaycuatro ";}
elseif (
$u==85) {$ru = "Ochentaycinco ";}
elseif (
$u==86) {$ru = "Ochentayseis ";}
elseif (
$u==87) {$ru = "Ochentaysiete ";}
elseif (
$u==88) {$ru = "Ochentayocho ";}
elseif (
$u==89) {$ru = "Ochentaynueve ";}
elseif (
$u==90) {$ru = "Noventa ";}

elseif (
$u==91) {$ru = "Noventayun ";}
elseif (
$u==92) {$ru = "Noventaydos ";}
elseif (
$u==93) {$ru = "Noventaytres ";}
elseif (
$u==94) {$ru = "Noventaycuatro ";}
elseif (
$u==95) {$ru = "Noventaycinco ";}
elseif (
$u==96) {$ru = "Noventayseis ";}
elseif (
$u==97) {$ru = "Noventaysiete ";}
elseif (
$u==98) {$ru = "Noventayocho ";}
else            {
$ru = "Noventaynueve ";}
return 
$ru; //Retornar el resultado
}

function 
decenas($d)
{
    if (
$d==0)  {$rd = "";}
elseif (
$d==1)  {$rd = "Ciento ";}
elseif (
$d==2)  {$rd = "Doscientos ";}
elseif (
$d==3)  {$rd = "Trescientos ";}
elseif (
$d==4)  {$rd = "Cuatrocientos ";}
elseif (
$d==5)  {$rd = "Quinientos ";}
elseif (
$d==6)  {$rd = "Seiscientos ";}
elseif (
$d==7)  {$rd = "Setecientos ";}
elseif (
$d==8)  {$rd = "Ochocientos ";}
else            {
$rd = "Novecientos ";}
return 
$rd; //Retornar el resultado
}
?>