The VBA CSng function converts an expression into a Single data type (i.e. into a single precision floating point number).
The syntax of the function is:
Where the Expression argument is the expression that that you want to convert to a Single data type.
The following VBA code shows how the CSng function can be used to convert text strings and numeric values into single precision floating point numbers.
' Convert strings and numeric values into Singles
Dim sng1 As Single
Dim sng2 As Single Dim sng3 As Single
sng1 = CSng( "0.66666666" )
' sng1 is now equal to 0.6666667
sng2 = CSng( "235.1111111" )
sng3 = CSng( 1.01 * 1.01 )' sng2 is now equal to 235.1111 ' sng3 is now equal to 1.0201 |
After running the above VBA code, the variables sng1, sng2 and sng3 are equal to 0.6666667, 235.1111 and 1.0201 respectively
Note that the values 0.66666666 and 235.1111111 have been rounded up or down, to convert them to single precision floating point numbers.
If the CSng function is supplied with a text string that cannot be converted to a numeric value, it will return the error: