O'Reilly logo

VB.NET Language in a Nutshell, Second Edition by Steven Roman PhD, Paul Lomax, Ron Petrusha

Stay ahead with the world's most comprehensive technology and business learning platform.

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

Start Free Trial

No credit card required

Name

CSng Function

Named Arguments

No

Syntax

CSng(expression)
expression (required; Numeric or String)

The range of expression is -3.402823E38 to -1.401298E-45 for negative values, and 1.401298E-45 to 3.402823E38 for positive values.

Return Value

expression cast as a Single data type

Description

Returns a single-precision number

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 Double data type, an overflow error is generated.

Example

Dim sngMyNumber As Single
If IsNumeric(sMyNumber) Then
    sngMyNumber = CSng(sMyNumber)
End If

Programming Tips and Gotchas

  • You can use IsNumeric to test an expression before passing it to CSng.

  • When converting a string representation of a number to a numeric, you should use the data type conversion functions — such as CSng — instead of Val, because the data type conversion functions take into account the computer’s regional settings. The thousands separator is the most important of these regional settings. For example, if the value of expression is the string 1,234.987, CSng converts it to 1234.987, while Val incorrectly converts it to 1.

  • Like most of the conversion functions, CSng is not actually a function in the Microsoft.VisualBasic namespace. Instead, it is similar to a Visual C++ macro; the compiler translates the function call into inline code.

See Also

CDbl Function

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

Start Free Trial

No credit card required