LUA - 如何将百分比数字四舍五入?

我想将百分比数字四舍五入,比如 94.5% 显示为 94%,但是如果数字是 10.0% 或者 100.0% 或者 40.0%,只显示数字 40% 而不显示 .0

在 JS 中是 Number(percentage).toFixed(1); 但我不知道在 LUA 中是什么。

有什么想法吗?

点赞
用户7504558
用户7504558

你可以首先保留一位小数,然后使用 %g 来减少输出不显著的零。

local values = {"100.0", "94.25","94.7","20.0"}

for k,v in pairs(values) do
    print( string.format("%g",string.format("%.1f",v)) )
end

输出:

100
94.3
94.7
20
2021-05-16 08:52:17
用户11740758
用户11740758

将浮点数四舍五入为整数可以使用 math.ceil()math.floor()...

> for k,v in pairs({"100.0", "94.25","94.7","20.0"}) do print(math.ceil(v)) end
100
95
95
20
> for k,v in pairs({"100.0", "94.25","94.7","20.0"}) do print(math.floor(v)) end
100
94
94
20
2021-05-16 16:12:07