Função CLng

Retorna uma expressão que foi convertida em uma Variante do subtipo Longo.

Sintaxe

CLng(expression)

Comentários

O argumento expression é qualquer expressão válida.

Use a função CLng para fornecer conversões com conhecimento internacional de qualquer outro tipo de dados em um subtipo Long. Por exemplo, diferentes separadores decimais são devidamente reconhecidos com base na configuração regional do sistema, assim como diferentes separadores de milhar.

Se a expressão ficar fora do intervalo aceitável para o subtipo Long, ocorrerá um erro.

O exemplo a seguir usa a função CLng para converter um valor em Long:

Exemplo 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

Exemplo 2:

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

Exemplo 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

Exemplo 4:

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

Exemplo 5:

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

Exemplo 6:

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

Exemplo 7:

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

Nota:

CLng difere das funções Fix e Int, que truncam, em vez de arredondar, a parte fracionária de um número. Quando a parte fracionária é exatamente 0,5, a função CLng sempre arredonda para o número par mais próximo. Por exemplo, 0,5 é arredondado para 0 e 1,5 é arredondado para 2.