Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/08/2006, 15:56
HemeAqui
 
Fecha de Ingreso: agosto-2006
Mensajes: 44
Antigüedad: 17 años, 8 meses
Puntos: 1
Hola, gracias por lo del sesenta , y ejecute el código .... y no terminó nunca (FF1.5)

Así que saqué el for(var i=2; i<1000000; i+=892.45) a otra función y desde esta llamé la función nn(), y bueno me parece que esta bien. Ejecuta este código. Gracias por la ayuda.
Código PHP:
<html>
<
script>
var 
o=new Array("diez""once""doce""trece""catorce""quince""dieciséis""diecisiete""dieciocho""diecinueve""veinte""veintiuno""veintidós""veintitrés""veinticuatro""veinticinco""veintiséis""veintisiete""veintiocho""veintinueve");
var 
u=new Array("cero""uno""dos""tres""cuatro""cinco""seis""siete""ocho""nueve");
var 
d=new Array("""""""treinta""cuarenta""cincuenta""sesenta""setenta""ochenta""noventa");
var 
c=new Array("""ciento""doscientos""trescientos""cuatrocientos""quinientos""seiscientos""setecientos""ochocientos""novecientos");

function 
nn(n)
{
  var 
n=parseFloat(n).toFixed(2); /*se limita a dos decimales, no sabía que existía toFixed() :)*/
  
var p=n.toString().substring(n.toString().indexOf(".")+1); /*decimales*/
  
var m=n.toString().substring(0,n.toString().indexOf(".")); /*número sin decimales*/
  
var m=parseFloat(m).toString().split("").reverse(); /*tampoco que reverse() existía :D*/
  
var t="";

  
/*Se analiza cada 3 dígitos*/
  
for (var i=0i<m.lengthi+=3)
  {
    var 
x=t;
    
/*formamos un número de 2 dígitos*/
    
var b=m[i+1]!=undefined?parseFloat(m[i+1].toString()+m[i].toString()):parseFloat(m[i].toString());
    
/*analizamos el 3 dígito*/
    
t=m[i+2]!=undefined?(c[m[i+2]]+" "):"";
    
t+=b<10?u[b]:(b<30?o[b-10]:(d[m[i+1]]+(m[i]=='0'?"":(" y "+u[m[i]]))));
    
t=i<3?t:(i<6?((t=="uno"?"mil ":(t+" mil "))+x):((t=="uno"?"un millón ":(t+" millones "))+x));
  }

  
t+=" con "+p+"/100";
  
/*correcciones*/
  
t=t.replace("  "," ");
  
t=t.replace(" cero","");
  
t=t.replace("ciento y","cien y");
  
//alert("Numero: "+n+"\nNº Dígitos: "+m.length+"\nDígitos: "+m+"\nDecimales: "+p+"\nt: "+t);
  //document.getElementById("esc").value=t;
  
return t;
}

function 
st()
{
  var 
t="<table><tr><th>número</th><th>escrito</th></tr>";
  for (var 
i=2i<1000000i+=892.45)
    
t+="<tr><td>"+i.toFixed(2)+"</td><td>"+nn(i)+"</td></tr>";
  
t+="</table>";
  
document.getElementById('out').innerHTML=t;
}
window.onload=st;
</script>
<body>
<!--numero: <input id="num"><input type="button" value="C" onclick="nn(document.getElementById('num').value);"><br>
escrito: <input style="width: 40em;" id="esc">-->
<div id="out"></div>
</body>
</html> 
HA