Data Type Summary

Description

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


(continued)

Data type

Storage size

Range

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.

See Also

Boolean data type, Byte data type, Currency data type, Date data type, Decimal data type, Deftype statements, Double data type, Int, Fix functions, Integer data type, Long data type, Object data type, Single data type, String data type, Type statement, User-defined data type, Variant data type.