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正確的結果)

回答

0

這是在Flash Player(FP-5141)的錯誤。它已經存在很長一段時間了。錯誤報告表明它是固定的,但它不像Flash Player 11.5那樣。

相關問題