Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共18 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
cpayinyuan 发表于:2009/5/6 7:09:00
      以前我提过这个问题,现在仍然没有解决好。
      就是对于导入的表,有些数值(不是全部)在表中显示正常,但若用一个全局变量读入表中的数值,并在窗口显示时,就会出现好长一串小数(例如56会显示为56.00000000000021),按贺老师的办法先转换成整数再转换过来也不行,不知是哪儿的问题。希望贺老师认真检查一下是怎么回事,解决好这个问题。
2楼
狐狸爸爸 发表于:2009/5/6 8:07:00
我看看
3楼
狐狸爸爸 发表于:2009/5/6 8:48:00
数值输入框可以设置格式符号,你可以将格式符号设置为:
#0.00
这样就只显示两位小数了。
4楼
cpayinyuan 发表于:2009/5/6 8:54:00
以下是引用狐狸爸爸在2009-5-6 8:48:00的发言:
数值输入框可以设置格式符号,你可以将格式符号设置为:
#0.00
这样就只显示两位小数了。

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

5楼
狐狸爸爸 发表于:2009/5/6 9:10:00
以下是引用cpayinyuan在2009-5-6 8:54:00的发言:

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


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

6楼
cpayinyuan 发表于: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编辑过]
7楼
程兴刚 发表于:2009/5/6 10:12:00
round
8楼
cpayinyuan 发表于:2009/5/6 10:14:00
以下是引用程兴刚在2009-5-6 10:12:00的发言:
round

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

9楼
狐狸爸爸 发表于:2009/5/6 10:19:00
不用Double,用Decimal
10楼
cpayinyuan 发表于:2009/5/6 10:25:00
以下是引用狐狸爸爸在2009-5-6 10:19:00的发言:
不用Double,用Decimal

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

共18 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03711 s, 2 queries.