a="k0001"
b="1"
c=a+b如何让C的值=k0002

解决方案 »

  1.   

    你可以去搜一下类型转换的方法。
    a和b都是string型,需要首先对a进行正则表达式处理,将字符串头部的字符提取(比如存为ch),然后后面的纯数字单独保存(比如存为num)。之后再将单独保存的string型纯数字num转换成相应的数值型,这里为integer。最后把这个整型值与同样转换成整型的b相加,再转换回string型。然后append到ch就可以了。代码网上很多,自己去搜索一下就好了。主要是类型转换和正则表达式的简单操作。Regards,
    Sean
      

  2.   

    这样不简单些啊:
    Public Function strAdd(s1 As String, s2 As String) As String
    Dim i As Integer
    Dim s As String
    For i = 1 To Len(s1)
        If Asc(Mid(s1, i, 1)) > Asc("0") And Asc(Mid(s1, i, 1)) <= Asc("9") Then Exit For
    Next i
    strAdd = Left(s1, i - 1) & (Val(Mid(s1, i, Len(s1))) + Val(s2))
    End Function
    这是默认为第二个b是一个数值型的字符串Print strAdd("k00001", "1")
    结果是:k00002
      

  3.   

    如果a、b的数值出现有规律的话,可以这样:
    a = 1
    b = 1
    c = a + b
    c = "k" & Format(c, "0000")
    MsgBox c