Name
CLng Function
Named Arguments
No
Syntax
CLng(expression
)
-
expression
Use: Required
Data Type: Numeric or String
Ranges from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807; fractions are rounded.
Return Value
expression
cast as a Long data type
Description
Converts expression
to a 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 .5,
CLng
always rounds it to the nearest even number. For example, .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 ofVal
, because the data type conversion function takes into account the system’s regional settings. In particular,CLng
is able to recognize the thousands separator if it’s included inexpression
, whileVal
cannot. For example, if a user enters a value of 1,098,234 into a textbox,CLng
converts it to the long integer 1098234, butVal
converts it to a value of 1.Use
IsNumeric
to test whetherexpression
evaluates to a number.CLng
differs from theFix
andInt
functions, which truncate, rather than round, the fractional part of a number. ...
Get VB .NET Language in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.