以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 计算问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71026) |
-- 作者:cuicuibing -- 发布时间:2015/7/3 13:44:00 -- 计算问题 有一列为规格型号,如下: 规格型号 45*20 155*358 如何能够读出出 45 20 155 358这些数字。 数字的位数可能是1位数,或者2、3位数,也可能是带小数的。 如35.5 请教。 目的是读出数字后,自动计算。
|
-- 作者:大红袍 -- 发布时间:2015/7/3 14:02:00 -- Dim str As String = "45*20" Dim ary() As String = str.Split("*") msgbox(ary(0)) msgbox(ary(1)) |
-- 作者:cuicuibing -- 发布时间:2015/7/3 14:21:00 -- 谢谢版主。如果是 45*46 55*58*57的如何处理。 有的是有一个*,有的有2个*
|
-- 作者:大红袍 -- 发布时间:2015/7/3 14:26:00 -- 你要怎样计算?
Dim str As String = "45*20*3434" msgbox(ary(2)) |
-- 作者:cuicuibing -- 发布时间:2015/7/3 14:50:00 -- If e.DataCol.Name = "部件规格" And e.DataRow("工段") = "裁布" Then Dim str As String = e.DataRow("部件规格") Dim ary() As String = str.Split("*") e.DataRow("数量") = "ary(0)*2 + ary(1)*2" End If e.DataRow("数量") = "ary(0)*2 + ary(1)*2" 这一句不行,应该如何修改。
|
-- 作者:大红袍 -- 发布时间:2015/7/3 14:52:00 -- If e.DataCol.Name = "部件规格" And e.DataRow("工段") = "裁布" Then Dim str As String = e.DataRow("部件规格") Dim ary() As String = str.Split("*") Dim sum As Double = 0 For Each a As tring In ary sum += a*2 Next e.DataRow("数量") = sum End If |
-- 作者:cuicuibing -- 发布时间:2015/7/3 14:53:00 -- 显示从字符串“ary(0)*2 + ary(1)*2” 到类型“double”的转换无效 |
-- 作者:大红袍 -- 发布时间:2015/7/3 14:56:00 -- 看6楼 |