[疑问]为什么两个值相等,然而它们的差不是0?
lua吧
全部回复
仅看楼主
level 6
如图,求解惑,谢谢!
2016年07月31日 15点07分 1
level 6
o和i的值是根据两个运算得出的,u的值是o-i
2016年07月31日 15点07分 2
level 6
这是script
2016年07月31日 15点07分 3
level 6
求好心人支个招,每次一遇到关于零的东西都会出事儿
2016年07月31日 15点07分 4
level 10
tostring()i和o然后再减就是0了
2016年08月01日 09点08分 5
能具体写一下吗,抱歉[小乖][乖]
2016年08月01日 10点08分
o,i=tostring(o),tostring(i) 把这加到倒数第一行前面
2016年08月01日 10点08分
level 6
@mh200458 照你说的做了,然后结果如图
2016年08月01日 11点08分 6
你x忘了吧
2016年08月01日 11点08分
回复 mh200458 :照着3楼的图片检查代码
2016年08月01日 11点08分
@mh200458 出来了,谢谢!!
2016年08月01日 11点08分
level 7
因为浮点数和整数比较会出问题
2016年08月01日 11点08分 7
能细说说吗[乖]
2016年08月01日 11点08分
回复 雨後初晴的空 :你的lua版本发出来,不同版本差距还是有的
2016年08月01日 12点08分
2016年08月01日 14点08分
回复 雨後初晴的空 :进行数学运算的时候,得出的50可能是49.99999与尼直接声明的50差很多
2016年08月01日 15点08分
level 11
[滑稽]小心lua里只有两种数字 双精度 整数(实际上也可以算是文本)[滑稽],利用精准度进行对比 if i-o<0.000001 and i-o>0 return "i=o" else return "i!=0" end 这类的
2016年08月02日 11点08分 8
那我如果想一步到位计算u是不可以的吗?还有i和o的计算过程中哪里出现了浮点数?像r^2这种的是整数啊
2016年08月02日 11点08分
@雨後初晴的空 当你使用q的时候就出现双精度了,每次计算自动将数据转化成精度高的类型,因为你的q的来源是50的开根号,lua不会因为你再根号回去就直接变回整数50,实际上是近似50的一个双精度数。对了如果你用haskell的话就不会出现这个问题了。[滑稽]
2016年08月02日 14点08分
@协调意志_Tox 哦原来如此,那我只要在每个浮点数出现之后tostring()就可以避免了吗?很麻烦啊听上去…有什么改进方法吗[乖]
2016年08月02日 23点08分
@雨後初晴的空 [滑稽]tostring可以直接避免浮点数 或者你计算数据的时候小心点,不要让浮点数出现,或者在对比相减的时候注意一下精度小于10^-6次方的都认为是0
2016年08月03日 01点08分
level 8
2016年08月04日 07点08分 10
level 11
楼主不知道有AndroLua+这个软件吗?
2016年08月19日 14点08分 11
不太清楚,能简要讲讲它的功能吗?
2016年08月20日 04点08分
请百度AndroLua+
2016年08月20日 06点08分
1