数字数据类型在Flex中自动失去精度

时间:2011-05-19 08:00:51

标签: flex actionscript-3 numbers precision

private function getPercentage(max:Number, value:Number):int
{
   return Number((value*100) / max);
}

我调用上面的函数为对象分配一个百分比。

var max:Number = findMax();
p.percentage = getPercentage(max, p.value);

假设p是某个对象,其百分比定义为

public var percentage:Number;

当我放置一个断点并检查getPercentage中返回的值时,它会像1.22343342322那样,但是当我将它分配给p.percentage时,它会自动变为1,从而失去精度。

我该如何处理这种情况?

它在LiveDocs中说道

  

要存储浮点数,   在数字中包含小数点。   如果省略小数点,则   数字将存储为整数。

但我该怎么做?我们非常感谢您对此问题的任何见解。

1 个答案:

答案 0 :(得分:5)

您的方法getPercentage()会返回int。将其更改为Number