尽管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