儘管Lua沒有區分浮點數和整數,但在某些情況下,當您要使用整數時。如果你不能做類似C的演員或者沒有像Python的int
這樣的東西,那麼將數字轉換爲整數的最好方法是什麼?Lua:從float轉換爲int
例如計算
IDX =位置陣列的索引時/寬度
你如何能夠確保idx
是一個有效的數組索引?我想出了一個使用string.find
的解決方案,但也許有一種使用算術的方法顯然會快得多。我的解決辦法:
function toint(n)
local s = tostring(n)
local i, j = s:find('%.')
if i then
return tonumber(s:sub(1, i-1))
else
return n
end
end
你可以擴展這個答案,通過投擲一些條來處理負數:'math.floor(math.abs(x))' – Ziggy 2015-10-21 05:00:09