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.