在我的引擎中,我有一個用於編寫腳本的Lua VM。在腳本中,我寫的東西,如:將盧阿的數字與平等運營商進行比較有多安全?
stage = stage + 1
if (stage == 5) then ... end
和
objnum = tonumber("5")
if (stage == objnum)
按照Lua的來源,Lua中比較雙打,它使用的內部編號類型時使用一個簡單的等式操作符。
我知道處理浮點值時的精度問題,所以我想知道比較是否安全,也就是說,使用Lua的默認'=='操作簡單比較這些數字會有什麼問題嗎?如果是這樣,是否有任何對策可以用來確保1 + 2始終等於3?將值轉換爲字符串的工作?
可能的重複[如果lua號碼是雙倍的,= = <=/> =操作總是正確的?](http://stackoverflow.com/questions/10526615/if-lua-number-is-double-does-operations-始終是正確的) –