以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]怎样用狐表实现四舍六入五成双  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25687)

--  作者:qjm107
--  发布时间:2012/11/14 15:10:00
--  [求助]怎样用狐表实现四舍六入五成双

工程师专家们:

       你们好,我已在狐表的第一列输入了一些小数,请问要使第二列对应显示第一列的这些小数四舍六入五成双后保留三位小数的结果的具体步骤是,点“数据表”,再点“表属性”,再点“事件”,再点“datecolchangging”后面的对话框,之后会弹出“代码编辑器”,之后又要怎样编辑代码才能实现使第二列对应显示第一列的这些小数四舍六入五成双后保留三位小数的结果呢,是不是直接写Math.Round【(第一列),3(第二列)】就行了,若不是,能否请各位大师快给我指教一下接下来的代码编写及具体步骤,谢谢!


--  作者:lin_hailun
--  发布时间:2012/11/14 15:19:00
--  
 select case e.datacol.name
     case "第一列"
         e.datarow("第二列") = Math.Round(e.NewValue, 3)
 end select

--  作者:狐狸爸爸
--  发布时间:2012/11/14 15:25:00
--  
记得第一列和第二列的数据类型,要设置为双精度小数型。
--  作者:qjm107
--  发布时间:2012/11/17 14:46:00
--  

工程师专家们:

      我直接把一下代码

select case e.datacol.name
     case "第一列"
         e.datarow("第二列") = Math.Round(e.NewValue, 3)
 end select

 

粘贴到点“表属性”,再点“事件”,再点“datecolchangging”后面的对话框,之后弹出的“代码编辑器”中,然后在第一列中输入3.25489,再用鼠标点击相应的第二列位置,可每次都是弹出“错误代码位置的对话框”,请问是不是我的操作步骤上哪儿出错了?


--  作者:lin_hailun
--  发布时间:2012/11/17 14:53:00
--  
 贴出你出错的代码,然后试一下这个。

select case e.datacol.name
     case "第一列"
         e.datarow("第二列") = Math.Round(CDbl(e.NewValue), 3)
 end select

--  作者:qjm107
--  发布时间:2012/11/22 10:30:00
--  

lin_hailun

      真的太感谢你了,我已试验过了,你这次写给我的

select case e.datacol.name
     case "第一列"
         e.datarow("第二列") = Math.Round(CDbl(e.NewValue), 3)
 end select
真的实现四舍六入五成双了,但我也没有把数据类型设置为双精度小数型,请问有这个必要吗,若真有这个必要,又怎样把某列的数值设为双精度小数型?


--  作者:lin_hailun
--  发布时间:2012/11/22 10:39:00
--  
设置列的类型就行了。

数据表->其它->修改表结构

或者,选中列,数据表->更改列
[此贴子已经被作者于2012-11-22 10:39:36编辑过]

--  作者:qjm107
--  发布时间:2018/9/3 21:42:00
--  
 你好,请问在以下代码中
 e.datarow("第二列") = Math.Round(CDbl(e.NewValue), 3)
CDbl表示什么?

--  作者:qjm107
--  发布时间:2018/9/3 21:45:00
--  
是以下解释吗?
CDbl 函数可把表达式转换为双精度(Double)类型
--  作者:有点蓝
--  发布时间:2018/9/3 21:58:00
--  
参考:http://www.foxtable.com/webhelp/scr/1513.htm

把数字型字符串转换为双精度数值