2012-01-06 49 views
0

我想乘到數類型變量:代碼是這樣的::ActionScript 3.0中數量型乘法錯誤..

trace(6.60*6);// !=39.6 
var a:Number=6.6; 
var b:Number=6; 
trace(a*b);// !=39.6 

它不等於39.6的動作腳本3.0 ..而不是顯示39.5999999994 ...

+0

其實,現在我正在考慮它,我想不出任何語言語言,其中'a * b == 39.6'。 – 2012-01-06 19:01:08

回答

0

這是IEEE標準的浮點運算的一個副產品。如果你想真正的原因,檢查本文:

http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

這其中大部分來自的ActionScript的JavaScript根源,並在Javascript中一切浮點。整數和浮點數學之間沒有區別,所以奇怪的錯誤會突然出現,不會在其他語言中出現,但是如果您一直使用浮點數,它們會出現。

+0

謝謝大家...... :) – warelord 2012-01-10 07:16:52