• Lunes 23 de Diciembre de 2024, 00:30

Autor Tema:  Números A Letras  (Leído 2414 veces)

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Números A Letras
« en: Martes 24 de Octubre de 2006, 18:52 »
0
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:
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Números A Letras
« Respuesta #2 en: Miércoles 25 de Octubre de 2006, 14:36 »
0
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:
Un Tigre Nunka Kambia Sus Rayas

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Números A Letras
« Respuesta #3 en: Miércoles 25 de Octubre de 2006, 18:13 »
0
Por ejemplo que cambie de 2000 a dos mil... gracias por los enlaces F_Tanori
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

MaoBike

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Números A Letras
« Respuesta #4 en: Viernes 31 de Agosto de 2007, 22:58 »
0
Esta funcion hace lo que necesitas esta probada para hacer facturas.
Código: Text
  1.  
  2. ### - Esta funcion convierte un numero a una cadena de texto EJ: 150 -> Ciento cincuenta - ###
  3.  function numerotexto ($numero) {
  4.   // Primero tomamos el numero y le quitamos los caracteres especiales y extras
  5.   // Dejando solamente el punto "." que separa los decimales
  6.   // Si encuentra mas de un punto, devuelve error.
  7.   // NOTA: Para los paises en que el punto y la coma se usan de forma
  8.   // inversa, solo hay que cambiar la coma por punto en el array de "extras"
  9.   // y el punto por coma en el explode de $partes
  10.      
  11.   $extras = array("/[\$]/","/ /","/,/","/-/");
  12.   $limpio = preg_replace($extras,"",$numero);
  13.   $partes = explode(".",$limpio);
  14.   if(count($partes)>2) {
  15.      return "Error, el numero no es correcto";
  16.      exit();
  17.   }
  18.      
  19.   // Ahora explotamos la parte del numero en elementos de un array que
  20.   // llamaremos $digitos, y contamos los grupos de tres digitos
  21.   // resultantes
  22.      
  23.   $digitos_piezas = chunk_split ($partes[0],1,"#");
  24.   $digitos_piezas = substr($digitos_piezas,0,strlen($digitos_piezas)-1);
  25.   $digitos        = explode("#",$digitos_piezas);
  26.   $todos          = count($digitos);
  27.   $grupos         = ceil (count($digitos)/3);
  28.      
  29.   // comenzamos a dar formato a cada grupo
  30.      
  31.   $unidad  = array ('un','dos','tres','cuatro','cinco','seis','siete','ocho','nueve');
  32.   $decenas = array ('diez','once','doce','trece','catorce','quince');
  33.   $decena  = array ('dieci','veinti','treinta','cuarenta','cincuenta','sesenta','setenta','ochenta','noventa');
  34.   $centena = array ('ciento','doscientos','trescientos','cuatrocientos','quinientos','seiscientos','setecientos','ochocientos','novecientos');
  35.   $resto   = $todos;
  36.      
  37.   for($i=1; $i<=$grupos; $i++) {
  38.       // Hacemos el grupo
  39.       if($resto>=3) {
  40.          $corte=3; } else {
  41.          $corte=$resto;
  42.       }
  43.       $offset=(($i*3)-3)+$corte;
  44.       $offset=$offset*(-1);
  45.          
  46.       // la siguiente seccion es una adaptacion de la contribucion de cofyman y JavierB
  47.          
  48.       $num           = implode("",array_slice ($digitos,$offset,$corte));
  49.       $resultado[$i] = "";
  50.       $cen           = (int) ($num / 100);              //Cifra de las centenas
  51.       $doble         = $num - ($cen*100);               //Cifras de las decenas y unidades
  52.       $dec           = (int)($num / 10) - ($cen*10);    //Cifra de las decenas
  53.       $uni           = $num - ($dec*10) - ($cen*100);   //Cifra de las unidades
  54.       if($cen > 0) {
  55.          if($num == 100) $resultado[$i] = "cien";
  56.          else            $resultado[$i] = $centena[$cen-1].' ';
  57.       }//end if
  58.       if($doble>0) {
  59.          if($doble == 20) {
  60.             $resultado[$i] .= " veinte";
  61.          }else
  62.            if(($doble < 16) and ($doble>9)) {
  63.                $resultado[$i] .= $decenas[$doble-10];
  64.            }else{
  65.                $resultado[$i] .=' '. $decena[$dec-1];
  66.            }//end if
  67.            if($dec>2 and $uni<>0) $resultado[$i] .=' y ';
  68.            if(($uni>0) and ($doble>15) or ($dec==0)) {
  69.            if($i==1 && $uni == 1) $resultado[$i].="uno";
  70.            else
  71.               if($i==2 && $num == 1) $resultado[$i].="";
  72.               else $resultado[$i].=$unidad[$uni-1];
  73.            }
  74.          }
  75.  
  76.         // Le agregamos la terminacion del grupo
  77.         switch($i) {
  78.          case 2:
  79.           $resultado[$i].= ($resultado[$i]=="") ? "" : " mil ";
  80.           break;
  81.          case 3:
  82.           $resultado[$i].= ($num==1) ? " millon " : " millones ";
  83.           break;
  84.         }
  85.         $resto-=$corte;
  86.     }
  87.      
  88.     // Sacamos el resultado (primero invertimos el array)
  89.     $resultado_inv= array_reverse($resultado, TRUE);
  90.     $final="";
  91.     foreach ($resultado_inv as $parte){
  92.         $final.=$parte;
  93.     }
  94.     return $final;
  95.  }//End function
  96.  
  97.  
  98.  
[size=109]The Real Extreme Bikers
[/size] [size=109] El Cielo Es El Limite[/size]