dim a,b,c as long
a=9
b=99
c=999
msgbox len(a)
msgbox len(b)
msgbox len(c)

解决方案 »

  1.   

    dim a,b,c as long
    a=9
    b=99
    c=999
    msgbox len(str(a))
    msgbox len(str(b))
    msgbox len(str(c))
      

  2.   

    先把数字转成字符串chr(),再用len()函数取得长度,如果是小数需要判断小数点的位置instr(),len("333.33")-instr("333.33",".")即可
      

  3.   

    好像不太多。比如
    dim a ,b as long
    a=56
    b=len(str(a))b的值为3,这是为什么压。我试了一下都是多了一位,a换成853 ,b的值为4 。 呵呵
      

  4.   

    因为字符串有一位结束标志。
    所以显示多一位。
    你可以
    dim a ,b as long
    a=56
    b=len(str(a))-1
    这样简单一点
    或者你可以考虑使用整除10来试试。
    这样可以精确地算出他的们数而不用考虑是不是ingeter \long \double
      

  5.   

    多一位是因为有一正号不显示。你这样可以看到空位在前面。
    msgbox "|"+str(5)+"|"
    显示:| 5|
      

  6.   

    回复人: Cooly(Lazy) ( ) 信誉:105  2003-03-14 13:37:00  得分:0 
     
     
      dim a,b,c as long
    a=9
    b=99
    c=999
    msgbox len(a)
    msgbox len(b)
    msgbox len(c)  
     
    Top 
     
     回复人: lysong(平) ( ) 信誉:100  2003-03-14 13:42:00  得分:0 
     
     
      dim a,b,c as long
    a=9
    b=99
    c=999
    msgbox len(str(a))
    msgbox len(str(b))
    msgbox len(str(c))
     
     
      

  7.   

    Public Function GetLenOfNum(ByVal lNum As Long) As Integer
        Dim intX As Integer
        Dim intL As Integer
        
        intX = lNum
        intL = 1
        Do While intX > 9
            intX = Fix(intX / 10)
            intL = intL + 1
        Loop
        
        GetLenOfNum = intL
    End Function
      

  8.   

    Private Sub Form_Load()
    Dim a, b, c, d, e As Long
    a = 9
    b = 99
    c = 999
    d = 9999
    e = 99999
    MsgBox Len(CVar(a))
    MsgBox Len(CVar(b))
    MsgBox Len(CVar(c))
    MsgBox Len(CVar(d))
    MsgBox Len(CVar(e))
    End Sub