乙個看似簡單的問題,但是在實際工作的時候卻讓人很鬱悶。
用as3做乙個很簡單的運算,
**如下:
trace(82.125 * 17.43)
//輸出1431.43875
var key:number =82.125 * 17.43 + 616;
trace(key);
//輸出2047.43875 ---a
trace(key + 1)
//輸出2048.4387500000003 ---b
對比a與b 發現,a只是再加1 就出現b的結果,這是為什麼呢?
查閱了很多資料,唯一覺得 有些道理的就是 「不要讓數值差距過大的浮點數相加減,結過可能有偏差」.
但是這句話也沒有給出為什麼會結果有偏差。
難道as3在處理這個看似簡單的數字運算都不行嗎?一直沒有找到原因。
期待找到新的答案。或者找到新的解決方法,就是 2047.43875 + 1 = 2048.43875 而不是 2048.4387500000003
as3中的移位運算
在as3中,很少時候能看到 中含有移位操作,可能大多數人最常見的移位操作,也就是用來提取顏色通道的那幾行 var color uint 0x0ff0f0f0 var a uint color 0xff000000 24 var red uint color 0x00ff0000 16 var gre...
as3中的容器
4種容器 array object vector dictionary 各自特點 array是索引陣列,雖然它也是動態類,可以等同於object來用,但是不建議這樣,因為沒有任何好處。除了鍵上的區別外,array還是善於隨機訪問的,但不知道object和dictionary和它在訪問速度上的區別有多...
再學AS3(二) 乘法運算
知識點 1 想執行一些方法,然後返回結果給呼叫它的函式,可以使用return 語句返回結果,return 返回的資料型別必須與函式申明的返回型別相一致。2 如果第乙個數字輸入的是0或輸入了四個數字,則游標跳轉到第二個輸入文字框中,stage.focus 3 如果第乙個數字輸入的是0或輸入了四個數字,...