LUA - 如何对百分比数字进行四舍五入?
LUA - How to round a percentage number?
我想四舍五入一个百分比数字,如果是 94.5% 就可以这样显示。但是如果数字是 10.0% 或 100.0% 或 40.0% 则只显示数字 40% 而没有 .0
在JS中是Number(percentage).toFixed(1);但我不知道 LUA.
中的情况
有什么想法吗?
你可以先四舍五入到1个小数点,然后用%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
可以通过 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
我想四舍五入一个百分比数字,如果是 94.5% 就可以这样显示。但是如果数字是 10.0% 或 100.0% 或 40.0% 则只显示数字 40% 而没有 .0
在JS中是Number(percentage).toFixed(1);但我不知道 LUA.
中的情况有什么想法吗?
你可以先四舍五入到1个小数点,然后用%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
可以通过 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