马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在之前电脑版我发过 1.4 - 1.3为什么会出现不等于0.1
有同学提出手机版没有ccur()函数, 无法处理解决这个问题, 怎么办?
例如下面这种诡异的代码
[按键精灵] 纯文本查看 复制代码 If 1.4-1.3 = 0.1 Then
TracePrint "两个0.1相等"
Else
TracePrint "两个0.1不相等" //会输出不相等
End If
If 10 = 9.999999999999999999 Then
TracePrint "10与9.999999999999999999相等" //会输出相等
Else
TracePrint "10与9.999999999999999999不相等"
End If
其实这是与上面电脑版的原因差不多, 都是精度损失导致的问题, 而Lua 5.2的数值都是以double形式存放的, 没有货币型.
所以这里我们可以考虑采用CStr()转换字符串来做是否相等的判断, 这样就不会出现无法判断是否相等的问题了. |