Fonction CLng

Renvoie une expression qui a été convertie en variante de sous-type Long.

Syntaxe

CLng(expression)

Remarques

L'argument expression représente toute expression valide.

Utilisez la fonction CLng pour effectuer des conversions tenant compte des normes internationales de tout autre type de données en sous-type Long. Par exemple, différents séparateurs décimaux et séparateurs de milliers sont correctement reconnus en fonction des paramètres régionaux de votre système.

Si expression se trouve en dehors de la plage acceptable pour le sous-type Long, une erreur survient.

Les exemples suivants utilisent la fonction CLng pour convertir une expression en valeur Long :

Exemple 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

Exemple 2 :

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

Exemple 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

Exemple 4 :

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

Exemple 5 :

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

Exemple 6 :

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

Exemple 7 :

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

Remarque :

CLng diffère des fonctions Fix et Int, qui tronquent la partie fractionnaire d'un nombre, au lieu de l'arrondir. Si la partie fractionnaire est exactement 0,5, la fonction CLng l'arrondit toujours au nombre pair le plus proche. Par exemple, 0,5 est arrondi à 0 et 1,5 à 2.