以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  字符转换级码,的方法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75609)

--  作者:yancheng
--  发布时间:2015/10/11 12:54:00
--  字符转换级码,的方法
031301007这样的字符,怎么转换成级码。D.3.13.1.7
我用的这样的代码,
str.StartsWith("03") Then
        \'str1 = "D." & str.SubString(0,2) & "." & str.SubString(2,2) & "." & str.SubString(4,2) & "." & str.SubString(6,3)
    \'End If

把代码已经转换成:D.03.13.01.007,请问,怎么改成:D.3.13.1.7呢?
图片点击可在新窗口打开查看此主题相关图片如下:33.jpg
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:44.jpg
图片点击可在新窗口打开查看

用下面的代码,又没有反应:

For Each dr As DataRow In DataTables("我").DataRows
    Dim str1 As String = dr("级码")
    If str1.Length =14 Then
        If str1.Chars(2) = "0"    Then
            str1.Remove(2,1)
        End If
        If str1.Chars(5) = "0" Then
            str1.Remove(5,1)
        End If
        If str1.Chars(8) = "0" Then
            str1.Remove(8,1)
        End If
        If str1.Chars(11) = "0" Then
            str1.Remove(11,1)
        End If
        If str1.Chars(12) = "0" Then
            str1.Remove(12,1)
        End If
    End If
Next


用上面的代码,即使执行,应该也要出错。
我有的列数据是:D.03.11.01.106 一类的。请怎么写这个代码,才对?
[此贴子已经被作者于2015/10/11 14:03:02编辑过]

--  作者:大红袍
--  发布时间:2015/10/11 14:47:00
--  
dim str as string =  "031301007"
Dim str1 As String = "D." & val(str.SubString(0,2)) & "." & val(str.SubString(2,2)) & "." & val(str.SubString(4,2)) & "." & val(str.SubString(6,3))
msgbox(str1)

--  作者:yancheng
--  发布时间:2015/10/11 19:04:00
--  
谢谢,搞定了。