Data Type Summary (Visual Basic)

Visual Basic type Common language runtime type structure Nominal storage allocation Value range
BooleanBooleanDepends on implementing platformTrueFalse
ByteByte1 byte0 through 255 (unsigned)
Char (single character)Char2 bytes0 through 65535 (unsigned)
Date class=SpellE>DateTime8 bytes0:00:00 (midnight) on January 1, 0001 through 11:59:59 PM on December 31, 9999
DecimalDecimal16 bytes0 through +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9…E+28) with no decimal point; 0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest nonzero number is +/-0.0000000000000000000000000001 (+/-1E-28)
Double (double-precision floating-point)Double8 bytes-1.79769313486231570E+308 through -4.94065645841246544E-324 for negative values; 4.94065645841246544E-324 through 1.79769313486231570E+308 for positive values
IntegerInt324 bytes-2,147,483,648 through 2,147,483,647 (signed)
Long (long integer)nt648 bytes-9,223,372,036,854,775,808 through 9,223,372,036,854,775,807 (9.2…E+18 ) (signed)
ObjectObject (class)4 bytes on 32-bit platform 8 bytes on 64-bit platformAny type can be stored in a variable of type Object
SByteSByte1 byte-128 through 127 (signed)
Short (short integer)Int162 bytes-32,768 through 32,767 (signed)
Single (single-precision floating-point)Single4 bytes-3.4028235E+38 through -1.401298E-45 for negative values; 1.401298E-45 through 3.4028235E+38 for positive values
String (variable-length)String (class)Depends on implementing platform0 to approximately 2 billion Unicode characters
UIntegerUInt324 bytes0 through 4,294,967,295 (unsigned)
ULongUInt648 bytes0 through 18,446,744,073,709,551,615 (1.8…E+19 ) (unsigned)
User-Defined (structure)(inherits from ValueType)Depends on implementing platformEach member of the structure has a range determined by its data type and independent of the ranges of the other members
UShortUInt162 bytes0 through 65,535 (unsigned)