1
我有一個函數,它獲取一個數值(作爲Object)並返回格式良好的數字表示。因爲我們可以得到非常小的數字,所以在這個過程中我們使用了Flex的Number對象。這是部分代碼:Flex Number.toFixed沒有給出預期的結果
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
用的Percision大於0的representataion其他數字,我們得到的0正確的結果)