以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] SaveExcel后出现小数位数问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=48867)

--  作者:bahamute
--  发布时间:2014/4/7 21:21:00
--  [求助] SaveExcel后出现小数位数问题
数据列均设置为double,实际小数位数最多三位,列属性里面设置最大小数位数2,从ft里面看确实显示为两位小数,但是导出为excel就出现麻烦了,全是一串小数。

此为ft截图:

图片点击可在新窗口打开查看此主题相关图片如下:clip_2.jpg
图片点击可在新窗口打开查看

此为导出的excel截图

图片点击可在新窗口打开查看此主题相关图片如下:clip_4.jpg
图片点击可在新窗口打开查看

不知什么原因,原数据可是没有如此多小数啊。求指教!


[此贴子已经被作者于2014-4-7 23:04:16编辑过]

--  作者:E_Fox
--  发布时间:2014/4/8 1:10:00
--  
这是数据转换精度发生变化而产生的问题,用四舍五入解决吧
--  作者:Bin
--  发布时间:2014/4/8 8:22:00
--  
四舍五入,或者列类型采用高精度小数.
--  作者:bahamute
--  发布时间:2014/4/8 9:51:00
--  
采用高精度小数Decimal类型,确实解决了问题,但对出现这个问题的原因还是不太明白,由于采用的是access数据库,刚刚试着从数据库里直接导出为excel表,结果数据完全正常,为何从ft里面SaveExcel就出现这个问题呢?
--  作者:bahamute
--  发布时间:2014/4/8 9:56:00
--  
这是从access直接将表导出为excel截图。

图片点击可在新窗口打开查看此主题相关图片如下:剪辑_29.jpg
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2014/4/8 9:56:00
--  
双精度小数会有误差,没办法.
--  作者:bahamute
--  发布时间:2014/4/8 10:01:00
--  
我只是想了解从access导出和从ft导出哪个地方有差异?都是操作表,为何结果不一样?

--  作者:Bin
--  发布时间:2014/4/8 10:02:00
--  
这个就不得而知了,需要研究分析底层的东西,不是非常重要的东西没必要花费大量精力去刨根问底
--  作者:bahamute
--  发布时间:2014/4/8 10:32:00
--  
我不是刨根问底啊,呵呵,只是有疑问,故请教:
因为前面讲一种办法是采用四舍五入,但是我发现,数据库里面的数据本身是准确的,比如113.6,只是到了ft里面(引用外部表)成了113.555585,所以,既然是引用表,反而要再采用四舍五入法,重新对数据确定有效位数,总感觉这个操作怪怪的!