以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎样把纯数字数据变成易看出的写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150140)

--  作者:qjm107
--  发布时间:2020/5/21 23:10:00
--  [求助]怎样把纯数字数据变成易看出的写法
各位专家
      大家好,在我上传的附件中,表A中有 【实际数据】 和【易看数据 】两列,我想在想实现的目标是,怎样使【实际数据】那一列的数值按“数字+数位+数字+数位+数字+数位”的形式显示在【易看数据 】那一列? 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据易看.table


--  作者:有点蓝
--  发布时间:2020/5/21 23:26:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据易看.zip


--  作者:qjm107
--  发布时间:2020/5/31 23:17:00
--  
谢谢你,有点蓝,你给出的代码是可行的,但现在,我又发现了个问题,当我在附件“数据易看”的“表A”的“实际数据”列第5行输入小于4位数的数字“1236”时,我希望“易看数据”的对应第5行就原本显示”1236”,而不是“1236千”。我写出的代码如下,但结果出不来,请问需怎么修改?


If e.DataCol.Name = "实际数据"
    If e.DataRow.IsNull("实际数据") Then
        e.DataRow("易看数据")= Nothing
    Else
        Dim s As String = e.NewValue
        Dim str As String = ""
If s.Length <= 4 Then
           e.DataRow("易看数据")= str("实际数据")
 End If
        Else
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据易看.table

        If s.Length > 4 Then
            Dim s1 As String = right(s,4)
            s = s.SubString(0,s.Length - 4)
            str = s1.trim("0") & "千"
            If s.Length > 4 Then
                s1 = right(s,4)
                s = s.SubString(0,s.Length - 4)
                str = s & "亿" & s1 & "万" & str
                
            Else
                str = s & "万" & str
            End If
        Else
            str = s.trim("0") & "千"
        End If
        e.DataRow("易看数据")= str
    End If
End  If

--  作者:有点蓝
--  发布时间:2020/6/1 8:29:00
--  
If e.DataCol.Name = "实际数据"
    If e.DataRow.IsNull("实际数据") Then
        e.DataRow("易看数据")= Nothing
    Else
        Dim s As String = e.NewValue
        Dim str As String = ""
        If s.Length <= 4 Then
            e.DataRow("易看数据")= s
        Else
            Dim s1 As String = right(s,4)
            s = s.SubString(0,s.Length - 4)
            str = s1.trim("0") & "千"
            If s.Length > 4 Then
                s1 = right(s,4)
                s = s.SubString(0,s.Length - 4)
                str = s & "亿" & s1 & "万" & str
                
            Else
                str = s & "万" & str
            End If
            e.DataRow("易看数据")= str
        End If
        
    End If
End  If

--  作者:qjm107
--  发布时间:2020/6/2 21:55:00
--  
好的,谢谢你,有点蓝,这次结果能出来了。