1 trillion is how many thousands

Data type summary

  • 3 minutes to read

A data type is the characteristic of a variable that determines what kind of data it can hold Types and specific types of objects. Data types include those in the following table as well as user-defined types and specific types of objects.

Set intrinsic data types

The following table shows the supported data types, including storage sizes and ranges.

Data typeStorage sizeRange
Boolean valueBoolean2 bytes 2 bytesTrue or FalseTrue or False
bytebyte1 byte 1 byte0 to 2550 to 255
CollectionCollectionUnknownUnknownUnknownUnknown
Currency (scaled integer)Currency (scaled integer)8 bytes 8 bytes-922,337,203,685,477.5808 to 922,337,203,685,477.5807 -922,337,203,685,477.5808 to 922,337,203,685,477.5807
DateDate8 bytes, 8 bytesJanuary 1, 100 to December 31, 9999January 1, 100, to December 31, 9999
DecimalDecimal14 bytes 14 bytes+/- 79,228,162,514,264,337,593,543,950,335 without decimal point +/- 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 point +/- 7.9228162514264337593543950335 with 28 places to the right of the decimal

Smallest non-zero number is +/- 0.0000000000000000000000000001
DictionaryDictionaryUnknownUnknownUnknownUnknown
Double (Double precision floating point number)Double (double-precision floating-point)8 bytes, 8 bytes-1.79769313486231E308 to -4.94065645841247E-324 for negative values ​​-1.79769313486231E308 to -4.94065645841247E-324 for negative values

4.94065645841247E-324 to 1.79769313486232E308 for positive values
IntegerInteger2 bytes 2 bytes-32,768 to 32,767 -32,768 to 32,767
Long (Long integer)Long (Long integer)4 bytes, 4 bytes-2,147,483,648 to 2,147,483,647-2,147,483,648 to 2,147,483,647
LongLong (very long whole number)LongLong (LongLong integer)8 bytes, 8 bytes-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

Valid on 64-bit platforms only.
LongPtr (long integer on 32-bit systems, very long integer on 64-bit systems)LongPtr (Long integer on 32-bit systems, LongLong integer on 64-bit systems)4 bytes on 32-bit systems

8 bytes on 64-bit systems
-2,147,483,648 to 2,147,483,647 on 32-bit systems-2,147,483,648 to 2,147,483,647 on 32-bit systems

-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems
ObjectObject4 bytes, 4 bytesAnyone Object-Reference Any Object reference
single (Floating point number with single precision)single (single-precision floating-point)4 bytes, 4 bytes-3.402823E38 to -1.401298E-45 for negative values. -3.402823E38 to -1.401298E-45 for negative values

1.401298E-45 to 3.402823E38 for positive values. 1.401298E-45 to 3.402823E38 for positive values
** String ** (variable length)String (variable-length)10 bytes + string length0 to approx. 2 billion 0 to approximately 2 billion
String (fixed length)String (fixed-length)Length of string1 to approx. 65,4001 to approximately 65,400
Variant (with numbers)Variant (with numbers)16 bytes16 bytesAny numeric value up to the range of the data type DoubleAny numeric value up to the range of a Double
Variant (with sign)Variant (with characters)22 bytes + string length (24 bytes on 64-bit systems) 22 bytes + string length (24 bytes on 64-bit systems)Same area as the data type String Same range as for variable-length String
** Custom ** (using Type)User-defined (using Type)Number required by elementsThe range of each element is the same as the range of its data type.

A data type Variant having an array requires 12 bytes more than the array alone. A. Variant containing an array requires 12 bytes more than the array alone.

Note

Arrays of any data type require 20 bytes of memory plus 4 bytes for each array dimension plus 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 occupy a one-dimensional array consisting of 4 Integer-Data elements with 2 bytes each, a total of 8 bytes 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. On 64-bit platforms, SAFEARRAY's take up 24-bits (plus 4 bytes per Dim statement). The pvData member is an 8-byte pointer and it must be aligned on 8 byte boundaries.

Note

LongPtr is not a true data type because it transforms to a Long in 32 -bit environments, or a LongLong in 64-bit environments.LongPtr should be used to represent pointers and process values ​​in declare statements. The data type enables a transmissible code to be written that can be executed in both a 32-bit and a 64-bit environment.LongPtr should be used to represent pointer and handle values ​​in Declare statements and enables writing portable code that can run in both 32-bit and 64-bit environments.

Note

Use the StrConvFunction to convert one type of string data to another type StrConv function to convert one type of string data to another.

Convert between data types

See Type Conversion Functions for examples of using the following functions to convert an expression to a specific data type: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr, and CVar.See Type conversion functions for examples of how to use the following functions to coerce an expression to a specific data type: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr, and CVar.

For the following functions, you will find further information on the respective function pages: CVErr, fix and IntFor the following, see the respective function pages: CVErr, fix, and Int.

Note

CLngLng Valid on 64-bit platforms only.CLngLng is valid on 64-bit platforms only.

Verify data types

To verify data types, see the following functions:

Return values ​​for CStr

At ExpressionIf expression isreturns CStr: CStr returns
BooleanBooleanA string with True or False.A string containing True or False.
DateDateA string containing a date in the short date format of your system.
EmptyEmptyA zero-length string ("").
errorErrorA string making up the word error A string containing the word Error followed by the error number.
Zero zeroA run-time error.
Other numericA string containing the number.

See alsoSee also

Support and feedback

Have questions or feedback about Office VBA or this documentation? See Office VBA Support and Feedback for help with ways to get support and provide feedback. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Is this page helpful?