Foxtable(狐表)用户栏目专家坐堂 → [求助]从Excel读入数据小数点后几位怎么丢失丢了呢?


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

主题:[求助]从Excel读入数据小数点后几位怎么丢失丢了呢?

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


加好友 发短信
等级:八尾狐 帖子:1960 积分:15566 威望:0 精华:0 注册:2011/7/16 20:59:00
[求助]从Excel读入数据小数点后几位怎么丢失丢了呢?  发帖心情 Post By:2017/5/16 14:25:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170516141410.png
图片点击可在新窗口打开查看

 

编程从Excel文件中读取数据。见图AB两行。B是Excel原始数据,A是读到表中的数据。看一下数量这一列,为什么小数点后几位丢了呢?

初始在设置这表时已经将该表数量这一列设置为6位小数了。读进来就丢了。

 

Dim zd As New Dictionary(Of String,Integer)

dim s as row

Dim zz() As String={"级码","物料编码","数量"}

 

DataTables(bm5).DataCols("数量").SetFormat("0.000000")
DataTables(bm5).DataCols("数量小计").SetFormat("0.000000")

 

 

      s=Tables(bm5).AddNew
        For Each x As String In zz
            s(x)= Sheet(行数, zd(x)).Value
        Next
        s("项目编号")=xmbh
        s("产品编码")=cpbm
        s("版本")=bben

 

行数+=1
......

 

上面是程序主要语句。 帮助看看什么原因?

[此贴子已经被作者于2017/5/16 14:25:22编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/16 14:35:00 [只看该作者]

弹出获取的值是否正确

 

output.show(Sheet(行数, zd(x)).Text)

output.show(Sheet(行数, zd(x)).Value)

 

如果获取都不正确了,那你需要用vba获取数据。


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


加好友 发短信
等级:八尾狐 帖子:1960 积分:15566 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/5/16 17:50:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170516174625.png
图片点击可在新窗口打开查看

可以从Excel读出小数点后几位,但写入表中就丢失了。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/16 18:15:00 [只看该作者]

1、你数量列试一下用 双精度或高精度 小数;

 

2、列属性那里,小数位数,设置成尽量多位 http://www.foxtable.com/webhelp/scr/0050.htm

 


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


加好友 发短信
等级:八尾狐 帖子:1960 积分:15566 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/5/16 18:35:00 [只看该作者]

该表是用fill得到的各字段。其中数量原表就是6位小数点,本应继承下来。

Tables(bm5).fill(zc,数据源名,True)

用这种方法得到的表如何改动  数量 的小数点位长?
 DataTables(bm5).DataCols("数量").SetFormat("0.0000000000")

这种方法不好用!

 

 

 

[此贴子已经被作者于2017/5/16 19:19:50编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1960 积分:15566 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/5/16 19:34:00 [只看该作者]

DataTables(bm5).DataCols("数量").Decimals=6
DataTables(bm5).DataCols("数量小计").Decimals=6

找到办法了!谢谢


 回到顶部