## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

CLng Function

No

## Syntax

`CLng(`expression`)`
`expression `(required; 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 of Val, 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 in `expression`, while Val cannot. For example, if a user enters a value of 1,098,234 into a textbox, 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, ...

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required