以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  小数位数的问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2085)

--  作者:cpayinyuan
--  发布时间:2009/3/13 15:23:00
--  小数位数的问题?
记得以前有人提过这个问题,但在论坛上搜索不到了,只好再提!
在表中某列A列,数据类型是double,我定义一个全局变量a1(Double型)等于表中某行的A列。在表中这个值的小数位数是0,但在窗口的输入框中中显示a1的时候,显示了很长的小数位数。不知怎么回事?
例如:在表中的值为49,但在窗口中显示为:49.000000000000007
  
图片点击可在新窗口打开查看此主题相关图片如下:好长的小数.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2009/3/13 15:28:00
--  
你的数据是导入的吧?

在命令窗口执行:

For Each dr As DataRow in CurrentTable.DataTable.DataRows
   if dr.Isnull("某列") = False Then
     dr("某列") = Math.Round(dr("某列"),2)
   End If
Next

执行完保存一下。


--  作者:cpayinyuan
--  发布时间:2009/3/13 15:38:00
--  
以下是引用狐狸爸爸在2009-3-13 15:28:00的发言:
你的数据是导入的吧?

在命令窗口执行:

For Each dr As DataRow in CurrentTable.DataTable.DataRows
   if dr.Isnull("某列") = False Then
     dr("某列") = Math.Round(dr("某列"),2)
   End If
Next

执行完保存一下。

试了,没有用!


--  作者:t_fs
--  发布时间:2009/3/13 15:38:00
--  
      此问题确实存在!
      当我把易表中的数据拷贝到狐表中时出现过这种问题,而且还导致在狐表中的计算结果与易表里的计算结果出现微小误差,(三万条记录)保留二位小数时误差可能在0.03左右。

       有点困惑!
--  作者:cpayinyuan
--  发布时间:2009/3/13 15:40:00
--  

最气人的是,参与计算的时候,计算的时候也会无缘无故的出现小数误差!例如,把它增加1,则变为:50.000……7,气死人了!

估计是系统有问题!

[此贴子已经被作者于2009-3-13 15:41:02编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/3/13 15:42:00
--  
用绝招:

全部乘100,然后列类型改为整数,保存
接着列类型改为双精度小数,然后全部除以100。


图片点击可在新窗口打开查看
--  作者:t_fs
--  发布时间:2009/3/13 15:52:00
--  
以下是引用狐狸爸爸在2009-3-13 15:42:00的发言:
用绝招:

全部乘100,然后列类型改为整数,保存
接着列类型改为双精度小数,然后全部除以100。


图片点击可在新窗口打开查看

   真是绝招,没有办法的办法!!


--  作者:cpayinyuan
--  发布时间:2009/3/13 15:58:00
--  
 
我发现好像不是表的问题。好像是变量的问题。

是这样,在窗口中若直接显示表的值,不出现小数。

但是,我定义一个double型的全局变量,让它等于表中的该列的值,显示出来就成那样子了。

所以,我感觉不是数据转换的问题。好像系统本身有问题。把表的列改成整数列也不行。

但是很奇怪,不是所有的数字都出现问题,是偶尔。

[此贴子已经被作者于2009-3-13 15:58:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/3/13 16:07:00
--  
或者在易表中导出为文本,然后在foxtable中导入文本。
以后有空的话,假如一个导入易表文件的功能,这样方便一些。
--  作者:t_fs
--  发布时间:2009/3/13 19:23:00
--  
以下是引用狐狸爸爸在2009-3-13 16:07:00的发言:
或者在易表中导出为文本,然后在foxtable中导入文本。
以后有空的话,假如一个导入易表文件的功能,这样方便一些。

       应该!同一个爸爸的儿子,为何还同祖不同宗呢?这样也方便易表爱好者向狐表这边转变。