Función CLng

Devuelve una expresión que se ha convertido en una variante de subtipo Long.

Sintaxis

CLng(expression)

Observaciones

El argumento expression es cualquier expresión válida.

Utilice la función CLng para proporcionar conversiones de alcance internacional de cualquier otro tipo de dato a un subtipo Long. Por ejemplo, se reconocen correctamente distintos separadores decimales en función de la configuración regional del sistema, al igual que diferentes separadores de miles.

Si la expresión se encuentra fuera del rango aceptable para el subtipo Long, se produce un error.

En el siguiente ejemplo se utiliza la función CLng para convertir un valor en Long:

Ejemplo 1:

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55   ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)   
'Output: 25427
MyLong2 = CLng(MyVal2)   
'Output: 25428

Ejemplo 2:

Dim MyString, MyLong
MyString = "123456.78"    
MyLong = CLng(MyString)   
'Output: 123457

Ejemplo 3:

Dim MyLocaleString
MyLocaleString = "12.345,67"   ' Locale-specific decimal separator.
MyLong = CLng(MyLocaleString)  ' Convert to Long, interpreted based on locale.
'MyLong contains the correctly interpreted long value within locale settings

Ejemplo 4:

MyDouble = 2.6
MyLong = CLng(MyDouble)   ' 2.6 rounds to 3.
'Output: 3

Ejemplo 5:

MyDouble = 2.4
MyLong = CLng(MyDouble)   ' 2.4 rounds to 2.
'Output: 2

Ejemplo 6:

MyDouble = 1.5
MyLong = CLng(MyDouble)   ' 1.5 rounds to 2 (nearest even number).
'Output: 2

Ejemplo 7:

MyDouble = 0.5
MyLong = CLng(MyDouble)   ' 0.5 rounds to 0 (nearest even number).
'Output: 0

Nota:

CLng difiere de las funciones Fix e Int, que truncan, en lugar de redondear, la parte fraccionaria de un número. Cuando la parte fraccionaria es exactamente 0,5, la función CLng siempre la redondea al número par más cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2.