| CLng Function |
Named Arguments
No
Syntax
CLng(expression)
expression
Use: Required
Data Type: Numeric or String
The range of expression is –2,147,483,648 to 2,147,483,647; fractions are rounded.
Return Value
expression cast as a Long data type.
Description
Converts expression to an long integer; any fractional element of expression is rounded.
Rules at a Glance
expression must evaluate to a numeric value; otherwise, a type mismatch error is generated.
If the value of expression is outside the range of the long data type, an overflow error is generated.
When the fractional part is exactly 0.5, CLng always rounds it to the nearest even number. For example, 0.5 rounds to 0, and 1.5 rounds to 2.
Example
Dim lngMyNumber as Long
If IsNumeric(sMyNumber) then
lngMyNumber = CLng(sMyNumber)
End If
Programming Tips and Gotchas
When converting a string representation of a number to a numeric, you should use the data type conversion functions—such as CLng—instead of Val, because the data type conversion function takes account of the system's regional settings. In particular, CLng recognizes the thousands separator if it's included in expression, while Val can't. For example, if a user enters a value of 1,098,234 into a text box, CLng converts it to the long integer 1098234, but Val converts it to a value of 1.
Use IsNumeric to test whether expression evaluates to a number.
CLng differs from the Fix and Int functions, which truncate, rather than round, the fractional part of a number. Also, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access