Сводка типов данныхData type summary

Тип данных — это характеристика переменной, определяющая тип содержащихся в ней данных.A data type is the characteristic of a variable that determines what kind of data it can hold. К типам данных относятся типы, указанные в таблице ниже, а также пользовательские типы и определенные типы объектов.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 type Размер хранилищаStorage size ДиапазонRange
BooleanBoolean 2 байта2 bytes True или FalseTrue or False
ByteByte 1 байт1 byte от 0 до 2550 to 255
CollectionCollection НеизвестноUnknown НеизвестноUnknown
Currency (масштабируемое целое число)Currency (scaled integer) 8 байт8 bytes от –922 337 203 685 477,5808 до 922 337 203 685 477,5807-922,337,203,685,477.5808 to 922,337,203,685,477.5807
DateDate 8 байт8 bytes от 1 января 100 г. до 31 декабря 9999 г.January 1, 100, to December 31, 9999
DecimalDecimal 14 байт14 bytes +/–79 228 162 514 264 337 593 543 950 335 без десятичной запятой+/-79,228,162,514,264,337,593,543,950,335 with no decimal point

+/–7,9228162514264337593543950335 с 28 разрядами справа от десятичной запятой+/-7.9228162514264337593543950335 with 28 places to the right of the decimal

Наименьшее ненулевое число равно +/–0,0000000000000000000000000001Smallest non-zero number is+/-0.0000000000000000000000000001
DictionaryDictionary НеизвестноUnknown НеизвестноUnknown
Double (число с плавающей запятой двойной точности)Double (double-precision floating-point) 8 байт8 bytes от –1,79769313486231E308 до –4,94065645841247E-324 для отрицательных значений-1.79769313486231E308 to -4.94065645841247E-324 for negative values

от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений4.94065645841247E-324 to 1.79769313486232E308 for positive values
IntegerInteger 2 байта2 bytes от –32 768 до 32 767-32,768 to 32,767
Long (целое число Long)Long (Long integer) 4 байта4 bytes от –2 147 483 648 до 2 147 483 647-2,147,483,648 to 2,147,483,647
LongLong (целое число LongLong)LongLong (LongLong integer) 8 байт8 bytes от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

Действительно только для 64-разрядных платформ.Valid on 64-bit platforms only.
LongPtr (целое число Long в 32-разрядных системах, целое число LongLong в 64-разрядных системах)LongPtr (Long integer on 32-bit systems, LongLong integer on 64-bit systems) 4 байта в 32-разрядных системах4 bytes on 32-bit systems

8 байт в 64-разрядных системах8 bytes on 64-bit systems
от –2 147 483 648 до 2 147 483 647 в 32-разрядных системах-2,147,483,648 to 2,147,483,647 on 32-bit systems

от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 в 64-разрядных системах-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems
ObjectObject 4 байта4 bytes Любая ссылка на ObjectAny Object reference
Single (число с плавающей запятой одинарной точности)Single (single-precision floating-point) 4 байта4 bytes от –3,402823E38 до –1,401298E-45 для отрицательных значений-3.402823E38 to -1.401298E-45 for negative values

от 1,401298E-45 до 3,402823E38 для положительных значений1.401298E-45 to 3.402823E38 for positive values
String (переменная длина)String (variable-length) 10 байтов + длина строки10 bytes + string length от 0 до приблизительно 2 миллиардов0 to approximately 2 billion
String (фиксированная длина)String (fixed-length) Длина строкиLength of string от 1 до приблизительно 65 4001 to approximately 65,400
Variant (с числами)Variant (with numbers) 16 байт16 bytes Любое числовое значение до диапазона типа DoubleAny numeric value up to the range of a Double
Variant (с символами)Variant (with characters) 22 байта + длина строки (24 байтов в 64-разрядных системах)22 bytes + string length (24 bytes on 64-bit systems) Тот же диапазон как для типа String переменной длиныSame range as for variable-length String
Определяется пользователем (используя Type)User-defined (using Type) Число, необходимое для элементовNumber required by elements Диапазон каждого элемента совпадает с диапазоном его типа данных.The range of each element is the same as the range of its data type.

Тип Variant, содержащий массив, требует на 12 байт больше, чем сам массив.A Variant containing an array requires 12 bytes more than the array alone.

Примечание

Для массивов данных любого типа требуются 20 байтов памяти плюс 4 байта на каждую размерность массива, плюс количество байтов, занимаемых самими данными.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.

Например, данные в одномерном массиве, состоящем из 4 элементов данных Integer размером 2 байта каждый занимают 8 байтов.For example, the data in a single-dimension array consisting of 4 Integer data elements of 2 bytes each occupies 8 bytes. 8 байтов, необходимых для данных, плюс 24 байта служебных данных составляют 32 байта полной памяти, требуемой для массива.The 8 bytes required for the data plus the 24 bytes of overhead brings the total memory requirement for the array to 32 bytes. На 64-разрядных платформах массив SAFEARRAY занимает 24 бита (плюс 4 байта на оператор Dim).On 64-bit platforms, SAFEARRAY's take up 24-bits (plus 4 bytes per Dim statement). Элемент pvData является 8-байтным указателем, и он должен находиться в границах 8 байтов.The pvData member is an 8-byte pointer and it must be aligned on 8 byte boundaries.

Примечание

Тип LongPtr не является настоящим типом данных, так как он преобразуется в тип Long в 32-разрядных средах или в тип LongLong в 64-разрядных средах.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 должен использоваться для представления указателя и обработки значений в операторах Declare и позволяет писать переносимый код, который может выполняться как в 32-разрядных, так и в 64-разрядных средах.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.

Примечание

Для преобразования одного типа строковых данных в другой используется функция StrConv.Use the StrConv function to convert one type of string data to another.

Преобразование между типами данныхConvert between data types

В статье Функции преобразования типов приведены примеры использования следующих функций для приведения выражения к определенному типу данных: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr и 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.

Ниже приведены страницы соответствующих функций: CVErr, Fix и Int.For the following, see the respective function pages: CVErr, Fix, and Int.

Примечание

Функция CLngLng действительна только для 64-разрядных платформ.CLngLng is valid on 64-bit platforms only.

Проверка типов данныхVerify data types

Чтобы проверить типы данных, ознакомьтесь с приведенными ниже функциями.To verify data types, see the following functions:

Возвращаемые значения функции CStrReturn values for CStr

Если expressionIf expression is CStr возвращаетCStr returns
BooleanBoolean Строка, содержащая значение True или False.A string containing True or False.
DateDate Строка, содержащая полный или краткий формат даты, установленный в системе.A string containing a date in the short date format of your system.
EmptyEmpty Строка нулевой длины ("").A zero-length string ("").
ErrorError Строка, содержащая слово Error и номер ошибки.A string containing the word Error followed by the error number.
NullNull Ошибка во время выполнения.A run-time error.
Другое числовое значениеOther numeric Строка, содержащая числоA string containing the number.

См. такжеSee also

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.