我有一个函数,它获取一个数值(作为对象)并返回该数字的格式良好的表示。因为我们可以得到非常小的数字,所以在这个过程中我们使用了 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)