以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  小数显示错误的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81140)

--  作者:happyft
--  发布时间:2016/2/19 12:01:00
--  小数显示错误的问题
表中有长度1,长度2,面积三列,都是float(全部设置为numeric数据类型18,8结果也是一样)
面积 = 长度1*长度2/1000000 
比如长度1,长度2均为38mm,
但计算的结果都只显示0.001400, 正确应该是0.001444;为什么后面两个4会变为0.

是什么原因,谢谢!

--  作者:大红袍
--  发布时间:2016/2/19 12:13:00
--  

 直接在foxtable里面设置成双精度或者高精度。

 

 不行,做例子上来测试。


--  作者:HappyFt
--  发布时间:2016/3/6 13:09:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计算小数问题.foxdb

真的是有问题啊,在第一二列输入38,都是双精度的,第三列应该是0.001444,但就只显示0.0014,为什么呢?谢谢!


--  作者:fjlclxj
--  发布时间:2016/3/6 13:37:00
--  
针对提供的文件,列属性设置最大小数位数为6,计算显示正常
--  作者:大红袍
--  发布时间:2016/3/6 13:57:00
--  
看4楼。
--  作者:HappyFt
--  发布时间:2016/3/6 15:51:00
--  
谢谢!那请教一下我的表都是动态fill的sqltb啊,这个小数位数的列属性要怎么设呢?
--  作者:fjlclxj
--  发布时间:2016/3/6 16:16:00
--  

SetFormat

设置列的显示格式。

示例

折扣列显示两位小数:

DataTables("订单").DataCols("折扣").SetFormat("0.00")


--  作者:HappyFt
--  发布时间:2016/3/6 17:15:00
--  
这个没有用啊,早就设置了。就是找不到什么原因啦!

\'加载表结构
Tables(e.Form.name & "_主表").Fill("se lect *,0 as RowNum from {" & Mtb & "} where [_Identify] < 0",Mydata,False) \'通用
Tables(e.Form.name & "_主表").SetColVisibleWidth(Csx)

\'设置表属性
Tables(e.Form.name & "_主表").Cols("图片").DataCol.ExtendType = ExtendTypeEnum.Images
Tables(e.Form.name & "_主表").cols("平方").DataCol.SetFormat("0.000000") \'设置小数位数
Tables(e.Form.name & "_主表").Cols("唛头").AllowDirectType = True
Tables(e.Form.name & "_主表").Cols("唛头").AllowTypeAssistant = True \'输入助手
Tables(e.Form.name & "_主表").Cols("颜色").AllowDirectType = True


--  作者:fjlclxj
--  发布时间:2016/3/6 18:36:00
--  
有效,你把数据加载一部分进来瞧瞧效果
--  作者:大红袍
--  发布时间:2016/3/6 21:14:00
--  

例子没问题啊,设置以后,要重新计算一次啊。