请问 vb6.0中  我要实现下面的小数进位(非四舍五入),怎么实现:
3.1314  → 3.1314
3.13141 → 3.1315
3.13146 → 3.1315就是只要有第五位小数就进位

解决方案 »

  1.   

        Dim a As Double:    a = 3.1314156
        If a * 10 ^ 5 / 10 <> Fix(a * 10 ^ 4) Then
            a = (Fix(a * 10 ^ 4) + 1) / 10 ^ 4
            Debug.Print a
        End If
      

  2.   

    If x > 3.1314 Then
        x = 3.1315
        
    Else
        x = 3.1314
        
    End If
      

  3.   

    val(a * 10 ^ 5 / 10)
      

  4.   


    Private Sub Command1_Click()
      Dim a(2) As Single, i As Integer, L As Integer
      a(0) = 3.1314: a(1) = 3.13141: a(2) = 3.13146
      For i = 0 To 2
          L = Len(CStr(a(i))) - InStr(a(i), ".")
          If L > 4 Then
             a(i) = Val(Left(a(i), Len(CStr(a(i))) - L + 4) + 0.0001)
          End If
          Debug.Print a(i)
      Next
       
    End Sub
      

  5.   


    Private Sub Command1_Click()
      Dim a(2) As Single, i As Integer, L As Integer
      a(0) = 3.1314: a(1) = 3.13141: a(2) = 3.13146
      For i = 0 To 2
          If Len(Mid(a(i), InStr(a(i), ".") + 1)) > 4 Then
             a(i) = (Int(a(i) * 10 ^ 4) + 1) / 10 ^ 4
          End If
          Debug.Print a(i)
      Next
       
    End Sub