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())
float、double、および不明な型の違いをまだ検出できません。Lua の数値型が Lua のインタープリターで int、float、または double と同等かどうかを確認するにはどうすればよいですか? 純粋な Lua で動作するようにしたいと思います。