以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [原创]find查找明明存在却找不到  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114546)

--  作者:找到没重的名
--  发布时间:2018/2/8 23:09:00
--  [原创]find查找明明存在却找不到

Dim dr As DataRow = DataTables("特比综合排名辅助").find("特比各关分速和=2462.3829")

If dr IsNot Nothing Then

output.show("找到了")

Else

output.show("找不到")

End If

在窗口设计中,在查到这个值时,就是提示查不到。重建项目,复制数据,运行此段代码就可以找到,但在我正在编程的这个项目里就提示找不到。我把项目中其他表、窗口、事件全都删除了。重启电脑重进项目,也是照旧。

我是想到论坛上求助,可好怕是又是回复一句“我这儿运行没问题啊”。我也能理解守在

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:明明存在却找不到.table

网络那一端回答问题的老师们,没有问题就是没有问题啊。可在我这儿看
问题就是存在,狐爸也不是常说程序不会骗人。可是解决不了这个问题,我都没(huai)编(yi)下(ren)去(sheng)的信心了。


希望能解决,希望能解决,希望能解决……图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/2/8 23:13:00
--  
你把那一列,改成【高精度小数】即可。
--  作者:找到没重的名
--  发布时间:2018/2/9 21:31:00
--  
问题解决了,谢谢老师!图片点击可在新窗口打开查看求助前我也特意看了帮助1不等于1那一节,但觉得“毋需过分担心这种误差,这种误差只有10的负16次方左右,对日常计算的结果不会有任何影响,但是会影响数值比较的结果”,觉得双精度已够高,而且不存在四舍五入,应该不会这么巧中“500万”吧!所以更愿意通过提问的方式,得到一个正面的回复。
      好吧,狐爸你又赢了!害我郁闷了整整一个晚上和整整一个白天。一整晚+一整白天<>24小时,因为我都怀疑人生了图片点击可在新窗口打开查看

但是,老师,我怎么才能知道我用高精度呢,因为在此项目中,有效数字是不会超过10位的,虽然小数点后有4位,但不存在四舍五入,而double有效数字是15位。此前编写此项目过程中,也测试过多组数据,偏巧这一次出现了这种找不到的情形,所以才非常崩溃。如果发布之后再出现,岂不更崩溃!  
再次谢谢老师!春节快乐!希望这是我春节期间的最后一问?(不过春节期间我的大部分时间还会是在码代码过程中度过。)


--  作者:有点蓝
--  发布时间:2018/2/9 21:57:00
--  
基本上小数比较有问题的都可以考虑是否精度的问题了