以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]从Excel读入数据小数点后几位怎么丢失丢了呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100682) |
-- 作者:新福星 -- 发布时间:2017/5/16 14:25:00 -- [求助]从Excel读入数据小数点后几位怎么丢失丢了呢?
编程从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")
s=Tables(bm5).AddNew
行数+=1
上面是程序主要语句。 帮助看看什么原因? [此贴子已经被作者于2017/5/16 14:25:22编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/16 14:35:00 -- 弹出获取的值是否正确
output.show(Sheet(行数, zd(x)).Text) output.show(Sheet(行数, zd(x)).Value)
如果获取都不正确了,那你需要用vba获取数据。 |
-- 作者:新福星 -- 发布时间:2017/5/16 17:50:00 --
可以从Excel读出小数点后几位,但写入表中就丢失了。 |
-- 作者:有点色 -- 发布时间:2017/5/16 18:15:00 -- 1、你数量列试一下用 双精度或高精度 小数;
2、列属性那里,小数位数,设置成尽量多位 http://www.foxtable.com/webhelp/scr/0050.htm
|
-- 作者:新福星 -- 发布时间:2017/5/16 18:35:00 -- 该表是用fill得到的各字段。其中数量原表就是6位小数点,本应继承下来。 Tables(bm5).fill(zc,数据源名,True) 用这种方法得到的表如何改动 数量 的小数点位长? 这种方法不好用!
[此贴子已经被作者于2017/5/16 19:19:50编辑过]
|
-- 作者:新福星 -- 发布时间:2017/5/16 19:34:00 -- DataTables(bm5).DataCols("数量").Decimals=6 找到办法了!谢谢 |