Programación Web y Scripting > PHP

 Números A Letras

(1/1)

ibito:
He estado buscando algún script para convertir de números a letras, y creo que no he buscado bien, ando un poco atrasado y casi no me da tiempo de buscar... en fin, alguien tendrá por ahí una url o algún script?

Gracias  :rolleyes:

F_Tanori:
:)

http://www.tutorial-enlace.net/tutorial-CO...LETRAS-779.html
http://www.lawebdelprogramador.com/codigo/...id=71&texto=PHP

neorent:
amigo tengo una una duda quieres que te cambie de numero a letras ej $2.000 ; DOS MIL asi necesitas o quieres que el usuario si ecribe 98 le aparesca la letra be que corresponde al codigo ascii? bueno espero tu respuesta :hola:

ibito:
Por ejemplo que cambie de 2000 a dos mil... gracias por los enlaces F_Tanori

MaoBike:
Esta funcion hace lo que necesitas esta probada para hacer facturas.

--- Código: Text --- ### - Esta funcion convierte un numero a una cadena de texto EJ: 150 -> Ciento cincuenta - ### function numerotexto ($numero) {   // Primero tomamos el numero y le quitamos los caracteres especiales y extras   // Dejando solamente el punto "." que separa los decimales   // Si encuentra mas de un punto, devuelve error.   // NOTA: Para los paises en que el punto y la coma se usan de forma   // inversa, solo hay que cambiar la coma por punto en el array de "extras"   // y el punto por coma en el explode de $partes        $extras = array("/[\$]/","/ /","/,/","/-/");   $limpio = preg_replace($extras,"",$numero);   $partes = explode(".",$limpio);   if(count($partes)>2) {      return "Error, el numero no es correcto";      exit();   }        // Ahora explotamos la parte del numero en elementos de un array que   // llamaremos $digitos, y contamos los grupos de tres digitos   // resultantes        $digitos_piezas = chunk_split ($partes[0],1,"#");   $digitos_piezas = substr($digitos_piezas,0,strlen($digitos_piezas)-1);   $digitos        = explode("#",$digitos_piezas);   $todos          = count($digitos);   $grupos         = ceil (count($digitos)/3);        // comenzamos a dar formato a cada grupo        $unidad  = array ('un','dos','tres','cuatro','cinco','seis','siete','ocho','nueve');   $decenas = array ('diez','once','doce','trece','catorce','quince');   $decena  = array ('dieci','veinti','treinta','cuarenta','cincuenta','sesenta','setenta','ochenta','noventa');   $centena = array ('ciento','doscientos','trescientos','cuatrocientos','quinientos','seiscientos','setecientos','ochocientos','novecientos');   $resto   = $todos;        for($i=1; $i<=$grupos; $i++) {       // Hacemos el grupo       if($resto>=3) {          $corte=3; } else {          $corte=$resto;       }      $offset=(($i*3)-3)+$corte;       $offset=$offset*(-1);                // la siguiente seccion es una adaptacion de la contribucion de cofyman y JavierB                $num           = implode("",array_slice ($digitos,$offset,$corte));       $resultado[$i] = "";       $cen           = (int) ($num / 100);              //Cifra de las centenas       $doble         = $num - ($cen*100);               //Cifras de las decenas y unidades       $dec           = (int)($num / 10) - ($cen*10);    //Cifra de las decenas       $uni           = $num - ($dec*10) - ($cen*100);   //Cifra de las unidades       if($cen > 0) {          if($num == 100) $resultado[$i] = "cien";          else            $resultado[$i] = $centena[$cen-1].' ';       }//end if       if($doble>0) {          if($doble == 20) {             $resultado[$i] .= " veinte";          }else           if(($doble < 16) and ($doble>9)) {                $resultado[$i] .= $decenas[$doble-10];            }else{                $resultado[$i] .=' '. $decena[$dec-1];            }//end if            if($dec>2 and $uni<>0) $resultado[$i] .=' y ';            if(($uni>0) and ($doble>15) or ($dec==0)) {            if($i==1 && $uni == 1) $resultado[$i].="uno";            else              if($i==2 && $num == 1) $resultado[$i].="";               else $resultado[$i].=$unidad[$uni-1];            }          }          // Le agregamos la terminacion del grupo         switch($i) {          case 2:           $resultado[$i].= ($resultado[$i]=="") ? "" : " mil ";           break;          case 3:           $resultado[$i].= ($num==1) ? " millon " : " millones ";           break;         }         $resto-=$corte;     }          // Sacamos el resultado (primero invertimos el array)     $resultado_inv= array_reverse($resultado, TRUE);     $final="";     foreach ($resultado_inv as $parte){         $final.=$parte;     }     return $final;  }//End function   

Navegación

[0] Índice de Mensajes

Ir a la versión completa