Trucos Convertir una fracción en un número decimal

Artículo Q185424

Esta rutina convierte un string con el formato "a," , "a/b" o "a b/c" en un double.

Function Frac2Num(ByVal X As String) As Double
Dim P As Integer, N As Double, Num As Double, Den As Double

X = Trim$(X)
P = InStr(X, "/")
If P = 0 Then
    N = Val(X)
Else
    Den = Val(Mid$(X, P + 1))
    If Den = 0 Then Error 11 'Divide by zero
    X = Trim$(Left$(X, P - 1))
    P = InStr(X, " ")
    If P = 0 Then
        Num = Val(X)
    Else
        Num = Val(Mid$(X, P + 1))
        N = Val(Left$(X, P - 1))
    End If
End If
If Den <> 0 Then
    N = N + Num / Den
End If
Frac2Num = N
End Function



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com