以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字符列怎么转成整数列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68975)

--  作者:cyrollin
--  发布时间:2015/5/28 14:37:00
--  字符列怎么转成整数列
我有这样一个列,

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150528143332.png
图片点击可在新窗口打开查看

想把他转成整数列,因为后面要参与运算。
去掉平米只留数字

用substring()函数可以吗?

--  作者:Bin
--  发布时间:2015/5/28 14:39:00
--  
有具体的问题,才有具体的答复

你只是要在计算的时候转换一下.还是说要填充到一列去?

你要计算的那个列是表达式列? 还是怎么样.

请描述清楚.

--  作者:cyrollin
--  发布时间:2015/5/28 14:40:00
--  
填充到一列去,计算得到的结果那一列不是表达式列
--  作者:Bin
--  发布时间:2015/5/28 14:42:00
--  
datacolchanged

If e.DataCol.name="第四列" Then
     e.DataRow("第五列")=Cint(e.newValue.replace("平米",""))
End If

--  作者:cyrollin
--  发布时间:2015/5/28 15:24:00
--  
第四列是字符列,填充列是整数列,
错误提示:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:表,客户数据,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“600平米”到类型“Boolean”的转换无效。
输入字符串的格式不正确。


代码:

If e.DataCol.name="第四列" Then
    If e.newvalue = True Then
       e.DataRow("面积")=Cint(e.newValue.replace("平米",""))
    Else
        e.DataRow("面积") = Nothing
    End If
End If

--  作者:Bin
--  发布时间:2015/5/28 15:25:00
--  
 If e.newvalue = True Then  你这是要干嘛?

判断是否为空?

 If e.datarow.isnull(e.datacol.name) = false Then

--  作者:cyrollin
--  发布时间:2015/5/28 15:28:00
--  
错误提示: 

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:表,客户数据,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“Integer”的公共成员“replace”。


代码: 

If e.DataRow.isnull("第四列") = False Then
       e.DataRow("面积")=Cint(e.newValue.replace("平米",""))
    Else
        e.DataRow("面积") = Nothing
End If


--  作者:Bin
--  发布时间:2015/5/28 15:29:00
--  
你第四列是数值列?