18 enero 2009

Ceiling y Floor en VB6

Dado que Visual Basic 6 carece de estos dos métodos que en algún momento pueden resultar útiles. Una forma de obtener el resultado deseado es con dos pequeñas funciones.

'Devuelve el entero más pequeño no menor que X.
'Ejemplo: Ceiling(1.23) = 2, Ceiling(-1.23) = -1
Private Function Ceiling(ByVal X As Double) As Long
Ceiling = -Int(X * (-1))
End Function

'Devuelve el entero más grande no mayor que X.
'Ejemplo: Floor(1.23) = 1, Floor(-1.23) = -2
Private Function Floor(ByVal X As Double) As Long
Floor = (-Int(X) * (-1))
End Function

3 comentarios: