Entonces no puede ser un número lo que te devuelva, porque 0.500 es 0.5 AS tratará de optimizar en todo momento, debes trabajar con Strings, que me parece que no debes tener problemas porque casi siempre cuando se quiere esto es porque se quiere insertar este número en algún lugar y como texto no tendrás problemas, aquí te dejo una pequeña función que te devuelve un string de un número con 3 decimales después de la coma:
Código ActionScript :
//---Numeros
var numero1:Number = 0.79;
var numero2:Number = 0.7;
var numero3:Number = 1;
var numero4:Number = 0.459;
//---Función de devolver la cantidad de decimales de un número
function giveMeDecimals(numero:Number):Number{
var numeroString:String = String(numero);
var numeroArray:Array = numeroString.split(".");
var decimals:Number = (numeroArray[1].length != undefined)?numeroArray[1].length:0;
return Math.pow(10, decimals);
}
//---Función de convertir un número a un string con 3 decimales
function convert(numero:Number):String{
var stringNumber:String = "";
switch(giveMeDecimals(numero)){
case 1:
stringNumber = ".000";
break;
case 10:
stringNumber = "00";
break;
case 100:
stringNumber = "0";
break;
}
return(numero + stringNumber);
}
//---Ejemplo
trace(convert(numero1)); // 0.790
trace(convert(numero2)); // 0.700
trace(convert(numero3)); // 1.000
trace(convert(numero4)); // 0.459