今天處理帶錢問題時,發現AS3的Number相減的一個問題
討論串如下
http://zengrong.net/post/1186.
http://blog.csdn.net/bill1315/
因此在撰寫程式時,
而應該以整數型態做運算,運算完後再做小數點的位移
或許對一些人而言這是已知的事
但還是希望能夠分享一些自己曾遇到的錯誤以避免大家再發生相同問
看下面的代碼:
1 2 3 4 |
var n1:Number = 0.7; var n2:Number = 0.4; trace(n1 - n2); //輸出 0.29999999999999993 |
簡單說,就是兩個一位小數相減,差為何不是一位小數?
經測試,乘法也有同樣的問題。
GOOGLE找到了Flex團隊的一個回覆:http://
從回覆看,AS3的Number與JAVA或C++