【发布时间】:2014-04-29 12:39:55
【问题描述】:
math.sqrt(2) 的结果似乎是不合理的,所以会发生这种情况:
> return math.sqrt(2)
1.4142135623731
> return math.sqrt(2) == 1.4142135623731
false
如何使这个“非理性”变量与以不同方式获得变量一样(如上面的示例)?
【问题讨论】:
-
Lua 故意去掉最后两位数字以隐藏简单数字的“非理性”,例如
(1/3)*3:) -
为什么需要值完全相等,
==?也许更简单的方法(比如将数字表示为具有固定精度的字符串或允许一些错误)可以满足您的需要?
标签: lua double rounding square-root