Foxtable(狐表)用户栏目专家坐堂 → [分享]单元格内自动简单四则运算


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

主题:[分享]单元格内自动简单四则运算

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


加好友 发短信
等级:一尾狐 帖子:463 积分:3349 威望:0 精华:0 注册:2016/12/21 22:58:00
[分享]单元格内自动简单四则运算  发帖心情 Post By:2018/3/29 15:12:00 [只看该作者]

在研究别的软件时,发现在相应表格里面可以直接输入计算内容,自动计算数值,不用调用自带计算器等,
而搜索论坛,发现基本都是调用计算器,思路定向于编制独立函数,结果水平太低,灵光一闪:
用自带val, Eval数据直接运算:
在datacolchanged加入

If e.DataCol.Name = "字符列" Then '自行改回需求列名
    If e.DataRow.IsNull("字符列") Then
        e.DataRow("字符列") = Nothing
    Else
        Dim s As String = e.DataRow("字符列")
        e.DataRow("字符列") = val(Eval(e.DataRow("字符列")))
    End If
End If

'注意事项:没有作字符个数截取,所以计算结果如果超过当前字符列长度,系统会自动提示截取
'如果需要调用本列数值,需要自行尝试字符数值转换
'测试数据如: (1+8)/3.3
'如果输入包含全格运算符,好像也正常运算,如果带字母的,结果会自动为0,为0这个是学其它软件功能考虑的。
'可能会存在其它未考虑情况,如果需要提示带字母的要对结果提示出错,可以自行尝试使用IsNumeric等判断函数

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 15:28:00 [只看该作者]

Eval2 函数不会报错

 

http://www.foxtable.com/webhelp/scr/1277.htm

 


 回到顶部