Foxtable(狐表)用户栏目专家坐堂 → 导入的表仍然存在显示好长的一串小数的问题!


  共有20880人关注过本帖树形打印复制链接

主题:导入的表仍然存在显示好长的一串小数的问题!

帅哥哟,离线,有人找我吗?
cpayinyuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
导入的表仍然存在显示好长的一串小数的问题!  发帖心情 Post By:2009/5/6 7:09:00 [显示全部帖子]

      以前我提过这个问题,现在仍然没有解决好。
      就是对于导入的表,有些数值(不是全部)在表中显示正常,但若用一个全局变量读入表中的数值,并在窗口显示时,就会出现好长一串小数(例如56会显示为56.00000000000021),按贺老师的办法先转换成整数再转换过来也不行,不知是哪儿的问题。希望贺老师认真检查一下是怎么回事,解决好这个问题。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 8:54:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-6 8:48:00的发言:
数值输入框可以设置格式符号,你可以将格式符号设置为:
#0.00
这样就只显示两位小数了。

我知道这样可以,但目前的系统出现这种情况肯定有问题,是不太正确的.还是希望贺老师认真检查一下是怎么造成的!


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 9:38:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-6 9:10:00的发言:


这个很难,计算机本来就是浮点数,计算机的0.2不一定等于0.2,可能等于0.20000001.
在易表中,这个问题更加明显。

    这个道理我明白,但您的说法我不太认同.如果是1/3这样的数值变成近似值,这可以接受;但即使浮点数在计算机保存的是近似值,我在表中输入一个数0.2,计算机应该保存的是数值2和2所在的位数,无论怎么近似(2乘10的负1次方),即使是100位小数,也应该保存0.200000000000000……0,无论如何也不应该变成0.20000001。
   而且,其他的数据库软件中,从来没有发现过这个问题。只有在易表和狐表中才经常出现这个问题,难道其他软件中保存的不是浮点数?
   既然这样,系统的算法方面应该存在一定的问题,希望想办法解决!

[此贴子已经被作者于2009-5-6 9:38:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 10:14:00 [显示全部帖子]

以下是引用程兴刚在2009-5-6 10:12:00的发言:
round

不是计算得来的数,是我刚刚输入一个2,一会儿再显示的时候就变成了2.0000000000001。
难道我在表中每输入一个数,都用round四舍五入一下?


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 10:25:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-6 10:19:00的发言:
不用Double,用Decimal

难道用高精度小数能解决这个问题?高精度小数好像就是允许的位数长,占用空间大,为什么能解决这个问题,不理解。


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 11:18:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-6 10:40:00的发言:

对于单个变量,不用考虑这个资源的问题。

    我在编辑某行数据或查询某行数据的时候,是先把表当前行的数据定到一个变量中,然后在把窗口的输入框绑定全局变量。
    您没有说清楚,我是把数据列的数据类型改了,还是把全局变量的数据类型改了?


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 12:58:00 [显示全部帖子]

以下是引用程兴刚在2009-5-6 12:55:00的发言:

经过反复测试,狐表的导入没问题,数据源是什么,狐表导入的结果就是什么,问题出在您的数据源,您的数据源就已经出现了浮点问题,比如56.00000000000021,您可以在您的数据源中引用 对应的单元格乘以10的N次方,N等于小数位数,看看结果的尾数是什么就明白了!

出问题的数据,基本上都来源于易表,估计是易表中存在问题,我再试试。


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 12:59:00 [显示全部帖子]

以下是引用程兴刚在2009-5-6 12:55:00的发言:

经过反复测试,狐表的导入没问题,数据源是什么,狐表导入的结果就是什么,问题出在您的数据源,您的数据源就已经出现了浮点问题,比如56.00000000000021,您可以在您的数据源中引用 对应的单元格乘以10的N次方,N等于小数位数,看看结果的尾数是什么就明白了!

      但您的说法也不太对。如果是易表中的数据源有问题,狐表没有问题。我在狐表中把数据删除,然后再输入一个数据,总应该正确了吧!但结果恰恰相反,重新输入后仍然不正常。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/6 14:27:00 [显示全部帖子]

以下是引用程兴刚在2009-5-6 13:07:00的发言:
手工输入,出现浮点错误,我这里测试不出来!运气差没碰到!是不是导入数据原因导致?


再度测试,没有发现手工输入的浮点错误问题,请发个示例上来,我等研究研究,谢谢!
[此贴子已经被作者于2009-5-6 14:21:08编辑过]

出现问题的数据是从易表导入,然后于修改仍然出错。
数据在一个项目中,等我抽时间单独导出一个表做一个事例,再传上来。


 回到顶部