以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]还原单位 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183842) |
-- 作者:18107532666 -- 发布时间:2022/11/15 17:39:00 -- [求助]还原单位 把10m3 或100m3还原成m3 用下列代码可以用,如果要是个或吨或公里等 用下列代码提示从字符串“”到类型“Double”的转换无效。求教各位老师如果修改下列代码。 \'还原单位 If e.DataCol.Name = "单位" Then\'如果变动列为成本名称 Dim dl As DataRow = e.DataRow\'定义ds为行 If e.DataRow("单位") <> Nothing Then Dim s As String = e.DataRow("单位") Dim p As String = "[a-zA-Z]+" Dim r As New System.Text.RegularExpressions.Regex(p) Dim str = r.Split(s) Dim k As String = s.Substring(str(0).Length) dl("单位复原") = k End If End If
|
-- 作者:有点蓝 -- 发布时间:2022/11/15 20:03:00 -- 请举例一个具体的值说明问题。"单位复原"需要得到什么结果? |
-- 作者:18107532666 -- 发布时间:2022/11/16 0:20:00 -- 比如说100m3 用上述代码可以复原成m3 如果是100吨 就不能复原成吨 或者是100立方米 也不能复原成立方米 [此贴子已经被作者于2022/11/16 0:20:41编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/11/16 8:24:00 -- Dim s As String = "100立方米" s = s.Replace(val(s), "") MsgBox(s)
|
-- 作者:18107532666 -- 发布时间:2022/11/17 4:00:00 -- 如果加到我的代码中 要怎么加? |
-- 作者:有点蓝 -- 发布时间:2022/11/17 9:10:00 -- If e.DataCol.Name = "单位" Then\'如果变动列为成本名称 Dim dl As DataRow = e.DataRow\'定义ds为行 If e.DataRow("单位") <> Nothing Then Dim s As String = e.DataRow("单位") dl("单位复原") = s.Replace(val(s), "") End If End If
|