Data Type Summary
The following table shows the supported data types,
including storage sizes and ranges.
Data type |
Storage size |
Range |
Byte |
1 byte |
0 to 255 |
Boolean |
2 bytes |
True or False |
Integer |
2 bytes |
-32,768 to 32,767 |
Long
(long integer) |
4 bytes |
-2,147,483,648 to 2,147,483,647 |
Single
(single-precision floating-point) |
4 bytes |
-3.402823E38 to -1.401298E-45 for negative values;
1.401298E-45 to 3.402823E38 for positive values |
Double
(double-precision floating-point) |
8 bytes |
-1.79769313486232E308 to
-4.94065645841247E-324 for negative values; 4.94065645841247E-324
to 1.79769313486232E308 for positive values |
Currency
(scaled integer) |
8 bytes |
-922,337,203,685,477.5808 to
922,337,203,685,477.5807 |
Decimal |
14 bytes |
+/-79,228,162,514,264,337,593,543,950,335 with no
decimal point;
+/-7.9228162514264337593543950335 with 28 places to the right of
the decimal; smallest non-zero number is
+/-0.0000000000000000000000000001 |
Date |
8 bytes |
January 1, 100 to December 31, 9999 |
Object |
4 bytes |
Any Object reference |
String
(variable-length) |
10 bytes + string length |
0 to approximately 2 billion |
String
(fixed-length) |
Length of string |
1 to approximately 65,400 |
Variant
(with numbers) |
16 bytes |
Any numeric value up to the range of a Double |
Variant
(with characters) |
22 bytes + string length |
Same range as for variable-length String |
User-defined
(using Type) |
Number required by elements |
The range of each element is the same as the range
of its data type. |
Note Arrays
of any data type require 20 bytes of memory plus 4 bytes for each array
dimension plus the number of bytes occupied by the data itself. The memory
occupied by the data can be calculated by multiplying the number of data
elements by the size of each element. For example, the data in a
single-dimension array consisting of 4 Integer data elements of 2
bytes each occupies 8 bytes. The 8 bytes required for the data plus the 24
bytes of overhead brings the total memory requirement for the array to 32
bytes.
A Variant containing an array
requires 12 bytes more than the array alone. |