我正在使用lua 5.3.2,以下代码段给了我一个错误:
string.format("%d", 1.16 * 100)
而以下行工作正常
string.format("%d", 1.25 * 100)
这可能与这个问题有关,但失败取决于浮点值。鉴于在我的例子中,局部变量 (v) 保存浮点值,并由一个 expresson 生成,该表达式生成一个介于 0 和 2 之间的值,四舍五入到小数点后 2 位。
如何修改代码以确保对于任何可能的 v 值都不会失败?
如果需要
四舍五入,您可以使用 math.floor
转换为整数并添加+0.5
:math.floor(1.16 * 100 + 0.5)
.或者,"%.0f"
也应该具有预期的效果。