1

我有一个函数,它获取一个数值(作为对象)并返回该数字的格式良好的表示。因为我们可以得到非常小的数字,所以在这个过程中我们使用了 flex 的 Number 对象。这是代码的一部分:

var numericValue:Number = Number(value.toString());
var fixed:String = numericValue.toFixed(precision); 

这就是问题所在:在某些情况下,数值的形式是
5.684341886080802e-14 因为我们想在0使用上面的代码时表示这些数字。在这种特定情况下,精度为 0,我们得到一个奇怪的结果

Initial Values:
value = 5.684341886080802e-14
percision = 0

Operation on values:
var numericValue:Number = Number(value.toString());
var fixed:String = numericValue.toFixed(precision); 

Result:
fix = "1."

为什么是这样?
(顺便说一句 - 在表示X.XXXXXXe-YY精度大于 0 的其他数字上,我们得到正确的结果 0)

4

1 回答 1

0

这是 Flash Player ( FP-5141 ) 中的一个错误。它已经存在了一段时间。错误报告说它已修复,但它不是 Flash Player 11.5。

于 2012-11-08T16:40:09.070 回答