管理 Lua 5.3“.0”行为
Managing Lua 5.3 ".0" behavior
在Lua 5.3 中,当一个数字是没有任何小数部分的浮点数时,打印它会在它的末尾添加“.0”,在高尔夫和速度比赛中给我错误的答案。四舍五入或 ~~x
或 x|0
强制它是整数类型,但对于像 "find the mean" 这样可能是整数或有小数的问题,只需打印 sum/size 就会给出每次它是一个整数时都会给出错误的答案,因为它以“.0”结尾,而不是什么都没有。因此,需要进行额外的检查,添加字符以编写高尔夫解决方案代码,以及额外的测试和时间来编写代码以加快运行速度。除了请求比赛主办方在他们的答案中接受以“.0”结尾的整数之外,有没有什么好的方法来处理这种行为?
不要指望 "print" 能猜到您希望如何格式化您的号码。如果您想要特定格式,请使用 'string.format'。例如,string.format("%g", x) 不会将 .0 添加到整数值。
在Lua 5.3 中,当一个数字是没有任何小数部分的浮点数时,打印它会在它的末尾添加“.0”,在高尔夫和速度比赛中给我错误的答案。四舍五入或 ~~x
或 x|0
强制它是整数类型,但对于像 "find the mean" 这样可能是整数或有小数的问题,只需打印 sum/size 就会给出每次它是一个整数时都会给出错误的答案,因为它以“.0”结尾,而不是什么都没有。因此,需要进行额外的检查,添加字符以编写高尔夫解决方案代码,以及额外的测试和时间来编写代码以加快运行速度。除了请求比赛主办方在他们的答案中接受以“.0”结尾的整数之外,有没有什么好的方法来处理这种行为?
不要指望 "print" 能猜到您希望如何格式化您的号码。如果您想要特定格式,请使用 'string.format'。例如,string.format("%g", x) 不会将 .0 添加到整数值。