Name

CLng Function

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 type of Long.

Description

Converts expression to a type of Long; 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

<HTML>
<HEAD>
<SCRIPT LANGUAGE="VBScript">
Option Explicit

Sub cmdAdd_OnClick(  )

   Dim lSum, sNum1, sNum2
   
   sNum1 = Window.Document.frmAdd.txtText1.Value
   sNum2 = Window.Document.frmAdd.txtText2.Value
   If IsNumeric(sNum1) And IsNumeric(sNum2) Then
      lSum = CLng(sNum1) + CLng(sNum2)
      Alert "The sum is: " & lSum
   Else
      Alert "The values you enter in the text boxes must be numeric."
   End If
End Sub
</SCRIPT>
</HEAD>

<BODY>
<FORM NAME="frmAdd">
   <INPUT TYPE="text" NAME="txtText1"><BR>
   <INPUT TYPE="text" NAME="txtText2"><BR>
   <INPUT TYPE="button" NAME="cmdAdd" VALUE="Sum">
</FORM>
</BODY>
</HTML>

Programming Tips and Gotchas

  • 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, Fix and Int always return a value ...

Get VBScript in a Nutshell, 2nd Edition 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.