Código ActionScript :
var a:Array=new Array(1,1,2,3);
var nuevosValores:Array=new Array(1,1,2);
/*Funcion de Fibonacci*/
for (var i:uint=3; i<10; i++)
{
a.push(a[i-1]+a[i])
//trace(formatear (a[i]));
nuevosValores.push(formatear (a[i]))
}
function formatear(e:Number) // ingreso numero
{
var retornar:String;
var decimales:String = "";
if((String(e).length - String(e).split(".").join("").length) > 0)
{
retornar = String(e).substr(0, String(e).indexOf("."));
decimales = String(e).substr(String(e).indexOf("."), String(e).length);
}
else
{
retornar = String(e);
}
var c:int = 0; // cantidad de comas
for(var i:int = 0;(i+c) < retornar.length;i++)
{
if(i != 0)
{
var h:int = i;
retornar = retornar.substr(0, -(i+h-1)) + "," + retornar.substr(-(i+h-1), i+h-1);
c++;
}
}
return retornar+decimales; // devuelve string, con la coma dejaria de ser number
}
trace("DIGITOS: "+nuevosValores);
trace("NUMEROS: "+a)
Resultado de estos trace:
Código ActionScript :
//DIGITOS: 1,1,2,3,5,8,1,3,2,1,3,4,5,5 //NUMEROS: 1,1,2,3,5,8,13,21,34,55,89
Si contamos, la cantidad de digitos son 14, sin embargo el arreglor dice:
Código ActionScript :
trace("DIGITOS: "+nuevosValores.length); //DIGITOS: 10Lo cual no es correcto.
También probe:
Código ActionScript :
trace("DIGITOS: "+nuevosValores.toString().length); //DIGITOS: 27lo cual tampoco es correcto, ya que cuenta las , que se generan al cargar el arreglo.
Por lo tanto, no encuentro el error, por lo que espero su ayuda.
Desde ya gracias. Saludos
