Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样用狐表实现四舍六入五成双


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

主题:[求助]怎样用狐表实现四舍六入五成双

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
[求助]怎样用狐表实现四舍六入五成双  发帖心情 Post By:2012/11/14 15:10:00 [只看该作者]

工程师专家们:

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


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/14 15:19:00 [只看该作者]

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

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/14 15:25:00 [只看该作者]

记得第一列和第二列的数据类型,要设置为双精度小数型。

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/17 14:53:00 [只看该作者]

 贴出你出错的代码,然后试一下这个。

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

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/22 10:39:00 [只看该作者]

设置列的类型就行了。

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

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

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/9/3 21:42:00 [只看该作者]

 你好,请问在以下代码中
 e.datarow("第二列") = Math.Round(CDbl(e.NewValue), 3)
CDbl表示什么?

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/9/3 21:45:00 [只看该作者]

是以下解释吗?
CDbl 函数可把表达式转换为双精度(Double)类型

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/3 21:58:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/scr/1513.htm

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

 回到顶部