FIX: String/Currency Conversion Broken with Sci. Notation
Article ID: 149319
Article Last Modified on 6/30/2004
APPLIES TO
- Microsoft Visual Basic 4.0 Standard Edition
- Microsoft Visual Basic 4.0 Professional Edition
- Microsoft Visual Basic 4.0 Professional Edition
- Microsoft Visual Basic 4.0 16-bit Enterprise Edition
- Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
This article was previously published under Q149319
SYMPTOMS
Visual Basic 4.0 will sometimes return an incorrect value when converting a
string to a currency value if the string contains a large number
represented using scientific notation.
CAUSE
RESOLUTION
To work around the problem, append zeroes to the end of the string to be
converted. This will cause the correct result. For example, instead of
using Print 1.7e7@, use Print 1.7000000000e7@. Nine zeroes will fix the
problem in the worst case. The smaller the exponent, the fewer zeroes need
to be added to obtain correct behavior.
STATUS
Microsoft has confirmed this to be a problem in the products listed above.
This problem has been fixed in Microsoft Windows 98.
Keywords: kbbug kbfix kboswin98fix KB149319