LUA 四舍五入到 1

LUA Rounding number to 1

我假设除了编写一堆 if 语句之外还有更好的方法来执行此操作。我想要做的是将数字向左向下舍入为 1。例如,如果数字为 12345.6789,则向下舍入为 100000.0000。如果数字为 9999999.9999,则向下舍入为 1000000.0000。还希望它与小数一起使用,因此如果数字为 0.00456789,则将其向下舍入为 0.00100000。

如有任何帮助或指导,我们将不胜感激。

local function weird_rounding(num)
   return 10 ^ math.floor(math.log(num, 10))
end