Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Тип данных — это характеристика переменной, определяющая тип содержащихся в ней данных. К типам данных относятся типы, указанные в таблице ниже, а также пользовательские типы и определенные типы объектов.
Набор встроенных типов данных
В следующей таблице показываются поддерживаемые типы данных, включая размеры хранилищ и диапазоны.
| Тип данных | Размер хранилища | Диапазон |
|---|---|---|
| Boolean | 2 байта | True или False |
| Byte | 1 байт | от 0 до 255 |
| Collection | Неизвестно | Неизвестно |
| Currency (масштабируемое целое число) | 8 байт | от –922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
| Date | 8 байт | -657 434 (1 января 100 г.), до 2 958 465 (31 декабря 9999 г.) |
| Decimal | 14 байт | +/–79 228 162 514 264 337 593 543 950 335 без десятичной запятой +/–7,9228162514264337593543950335 с 28 разрядами справа от десятичной запятой Наименьшее ненулевое число равно +/–0,0000000000000000000000000001 |
| Dictionary | Неизвестно | Неизвестно |
| Double (число с плавающей запятой двойной точности) | 8 байт | от –1,79769313486231E308 до –4,94065645841247E-324 для отрицательных значений от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений |
| Integer | 2 байта | от –32 768 до 32 767 |
| Long (целое число Long) | 4 байта | от –2 147 483 648 до 2 147 483 647 |
| LongLong (целое число LongLong) | 8 байт | от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 Действительно только для 64-разрядных платформ. |
| LongPtr (целое число Long в 32-разрядных системах, целое число LongLong в 64-разрядных системах) | 4 байта в 32-разрядных системах 8 байт в 64-разрядных системах |
от –2 147 483 648 до 2 147 483 647 в 32-разрядных системах от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 в 64-разрядных системах |
| Object | 4 байта | Любая ссылка на Object |
| Single (число с плавающей запятой одинарной точности) | 4 байта | от –3,402823E38 до –1,401298E-45 для отрицательных значений от 1,401298E-45 до 3,402823E38 для положительных значений |
| String (переменная длина) | 10 байтов + длина строки | от 0 до приблизительно 2 миллиардов |
| String (фиксированная длина) | Длина строки | от 1 до приблизительно 65 400 |
| Variant (с числами) | 16 байт | Любое числовое значение до диапазона типа Double |
| Variant (с символами) | 22 байта + длина строки (24 байтов в 64-разрядных системах) | Тот же диапазон как для типа String переменной длины |
| Определяется пользователем (используя Type) | Число, необходимое для элементов | Диапазон каждого элемента совпадает с диапазоном его типа данных. |
Тип Variant, содержащий массив, требует на 12 байт больше, чем сам массив.
Примечание.
Для массивов данных любого типа требуются 20 байтов памяти плюс 4 байта на каждую размерность массива, плюс количество байтов, занимаемых самими данными. Память, занимаемая данными, может быть вычислена путем умножения количества элементов данных на размер каждого элемента.
Например, данные в одномерном массиве, состоящем из 4 элементов данных Integer размером 2 байта каждый занимают 8 байтов. 8 байтов, необходимых для данных, плюс 24 байта служебных данных составляют 32 байта полной памяти, требуемой для массива. На 64-разрядных платформах массив SAFEARRAY занимает 24 бита (плюс 4 байта на оператор Dim). Элемент pvData является 8-байтным указателем, и он должен находиться в границах 8 байтов.
Примечание.
Тип LongPtr не является настоящим типом данных, так как он преобразуется в тип Long в 32-разрядных средах или в тип LongLong в 64-разрядных средах. Тип LongPtr должен использоваться для представления указателя и обработки значений в операторах Declare и позволяет писать переносимый код, который может выполняться как в 32-разрядных, так и в 64-разрядных средах.
Примечание.
Для преобразования одного типа строковых данных в другой используется функция StrConv.
Символы типа идентификатора
Предоставляется набор символов типа идентификатора , которые можно использовать в объявлении для указания типа данных переменной или константы. В следующей таблице показаны доступные символы типа идентификатора с примерами использования.
| Символ типа идентификатора | Тип данных | Пример |
|---|---|---|
% |
Integer | Dim L% |
& |
Long | Dim M& |
^ |
LongLong (очень длинное целое) | Dim N^ |
@ |
Денежный | Const W@ = 37.5 |
! |
Одинарное с плавающей точкой | Dim Q! |
# |
Двойное с плавающей точкой | Dim X# |
$ |
String | Dim V$ = "Secret" |
Символы типов идентификаторов не существуют для Booleanтипов данных , Byte, Date, DecimalDouble, LongPtr, Object, или Variant для любых составных типов данных, таких как массивы, коллекции, словари, структуры или определяемые пользователем типы.
В некоторых случаях можно добавить $ символ в функцию Visual Basic, например Left$ вместо Left, чтобы получить возвращаемое значение типа String.
Во всех случаях символ типа идентификатора должен немедленно следовать за именем идентификатора.
Преобразование между типами данных
В разделе Функции преобразования типов приведены примеры использования следующих функций для приведения выражения к определенному типу данных: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLng, CLngLng, CLngPtr, CSng, CStr и CVar.
Ниже приведены страницы соответствующих функций: CVErr, Fix и Int.
Примечание.
Функция CLngLng действительна только для 64-разрядных платформ.
Проверка типов данных
Чтобы проверить типы данных, ознакомьтесь с приведенными ниже функциями.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.