PRB: Can't Set Certain DataTypes to Minimum Documented Value (143422)
The information in this article applies to:
- Microsoft Visual Basic Standard Edition, 32-bit, for Windows 4.0
- Microsoft Visual Basic Professional Edition, 16-bit, for Windows 4.0
- Microsoft Visual Basic Professional Edition, 32-bit, for Windows 4.0
- Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows 4.0
- Microsoft Visual Basic Enterprise Edition, 32-bit, for Windows 4.0
- Microsoft Visual Basic Standard Edition for Windows 3.0
- Microsoft Visual Basic Professional Edition for Windows 3.0
This article was previously published under Q143422 SYMPTOMS
Setting a currency, long, integer, or double to its minimum documented
value is not valid. If you hard code the value, then the error message:
"INVALID Number" from Visual Basic 3, and "Expected: expression" from
Visual Basic 4 displays. However, if you try set a variable of any of
these types at run-time, an Overflow Error displays.
CAUSE
The reason for this behavior is that Microsoft Visual Basic reads all
negative numbers first as their absolute value, and then applies a unary
negative. Because Microsoft Visual Basic puts the absolute value into a
placeholder of the type identified by the type suffix, it reports the error
when the positive limit is exceeded.
RESOLUTION
Negative values that are greater in absolute value than the maximum
positive value are invalid.
STATUS
This behavior is by design.
MORE INFORMATION
INTEGER: -32768%
LONG: -2,147,483,648&
CURRENCY: -922337203685477.5808@
DOUBLE: -1.79769313486232E308#
Modification Type: | Minor | Last Reviewed: | 1/8/2003 |
---|
Keywords: | kbprb KB143422 |
---|
|