怎么得到小数点后面2位,但不是四舍五入,而是有值就入,例:12.118->12.12   12.111->12.12 
12.11000000000001->12.12    当然12.110->12.11   就是这个效果拉~,只要后面还有值,就进一位。负数不考虑!各位高手快出手啊~~

解决方案 »

  1.   

    对啊,按lxcy(猫)的思路的话,12.110会变成12.12的。但是我的目的是:小数点两位后面还有值的话才进一位(哪怕是很小很小的值,但是0当然不算)
      

  2.   

    sorry,没看清要求,我以为0也入的~
      

  3.   

    TO;viena(维也纳nn-实心木头人) round(var+0.005,2)
    高人!太佩服你拉~~哈哈,结帖~~!
      

  4.   

    Dim var As Double
    var = 12.110000000001
    If Round(var, 2) = var Then
        MsgBox Round(var, 2)
    Else
        MsgBox Round(var + 0.005, 2)
    End If
      

  5.   

    if a*100-int(a*100)>0 then
        a=a+0.01
      end if
      

  6.   

    用这个笨方法。。Hoho
    Private Sub Command1_Click()
    Dim a As Double
    a = Format(CDbl(Text1.Text), "0.00")
    If a < CDbl(Text1.Text) Then
      a = a + 0.01
    End If
    Text2.Text = a
    End Sub
      

  7.   

    搞错了 
    if a*100-int(a*100)>0 then
        a=((int(a*100))+1)/100
      end if
      

  8.   

    搞错了 
    if a*100-int(a*100)>0 then
        a=((int(a*100))+1)/100
      end if
      

  9.   

    搞错了 
    if a*100-int(a*100)>0 then
        a=((int(a*100))+1)/100
      end if
      

  10.   

    看我上面的答案,
    判断一下先,应该可以了吧
    如果Round(var, 2) = var,表明后面是0,直接Round(var, 2)就可以了
      

  11.   

    看我上面的答案,
    判断一下先,应该可以了吧
    如果Round(var, 2) = var,表明后面是0,直接Round(var, 2)就可以了
      

  12.   

    刚才高错了if a*100-int(a*100)>0 then
        a=(int(a*100)+1)/100
      end if
      

  13.   

    刚才高错了if a*100-int(a*100)>0 then
        a=(int(a*100)+1)/100
      end if
      

  14.   

    看我上面的答案,
    判断一下先,应该可以了吧
    如果Round(var, 2) = var,表明后面是0,直接Round(var, 2)就可以了
      

  15.   

    很笨的方法:
    Private Sub Command1_Click()
     Dim Str As String
     Dim SubStr As String
     Dim i As Integer
     Str = CStr(Text1.Text)
     i = InStr(Str, ".")
     SubStr = Left(Str, i + 2)
     If Str - SubStr > 0 Then
        SubStr = SubStr + 0.01
     End If
     Text2.Text = SubStr
    End Sub
      

  16.   

    很笨的方法:
    Private Sub Command1_Click()
       Dim Str As String
       Dim SubStr As String
       Dim i As Integer
       Str = CStr(Text1.Text)
       i = InStr(Str, ".")
       SubStr = Left(Str, i + 2)
       If Str - SubStr > 0 Then
          SubStr = SubStr + 0.01
       End If
       Text2.Text = SubStr
    End Sub