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.