在 Lua 中,对任何数字使用 type 函数总是返回“数字”。是否有一个函数可以告诉您 Lua 解释器是否使用 32 位浮点数、64 位双精度数、整数或其他数字类型?
我试着写一个这样的函数:
function numbertype()
local rational = 5 / 2
if rational == 2 then
-- equals 2
return 'int'
else
-- about 2.5
return 'double' -- but could it be a 32 bit float or something else?
end
end
print(numbertype())
它还不能检测浮点数、双精度数和未知类型之间的区别。在 Lua 的解释器中,如何查询 Lua 的数字类型是否等同于 int、float 或 double?我希望它在纯 Lua 中工作。