FIX: CSng Converted to CDbl for String Literals and Variables
Article ID: 127031
Article Last Modified on 10/29/2003
APPLIES TO
- Microsoft Visual Basic 3.0 Professional Edition
- Microsoft Visual Basic 3.0 Professional Edition
This article was previously published under Q127031
SYMPTOMS
Code using the function CSng() within Visual Basic is automatically
converted to a CDbl by the compiler.
CAUSE
If a string literal, such as 1.1, or a string variable is placed inside of
the CSng function, Visual Basic converts the function to CDbl. The
following code demonstrates the problem:
Dim S As Single S=CSng("1.1")
When you run a program containing this code, Visual Basic changes it to
this code:
Dim S As Single S=CDbl("1.1")
WORKAROUND
To work around the problem, use another function that operates on the
string. Then place this result inside the CSng function. For example, use
this:
S=CSng(Val("100"))
STATUS
This bug was corrected in Microsoft Visual Basic version 4.0 for Windows.
Additional query words: 3.00 buglist3.00 fixlist4.00
Keywords: kbbug kbfix KB127031