Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/07/2005, 08:21
safe
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
Bueno micayael, al final recorde donde habia visto lo que te dije.. lamentablemente era una funcion de PHP.
Te la dejo por las dudas te sirva para darte una idea y ver si la puedes pasar a javascript.

Código PHP:
<? 

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 n&uacute;mero 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"
           }elseif ((
$doble 16) and ($doble>9)) { 
              
$resultado[$i] .= $decenas[$doble-10]; 
           }else { 
              
$resultado[$i] .=' '$decena[$dec-1]; 
           }
//end if 
           
if ($dec>and $uni<>0$resultado[$i] .=' y '
           if ((
$uni>0) and ($doble>15) or ($dec==0)) { 
              if (
$i==&& $uni == 1$resultado[$i].="uno"
              elseif (
$i==&& $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) ? " mill&oacute;n " " millones "
            break; 
        } 
        
$resto-=$corte
    } 
     
    
// Sacamos el resultado (primero invertimos el array) 
    
$resultado_invarray_reverse($resultadoTRUE); 
    
$final=""
    foreach (
$resultado_inv as $parte){ 
        
$final.=$parte
    } 
    return 
$final


echo 
numerotexto(12536);
?>

Saludos
__________________
oohh... quisiera ser godines!!!