Вы здесь
Функции преобразования типов данных в VBA

Часто в программировании возникает необходимость перевести один тип в другой (по доступным типам данных в VB читаем в этой статье). Например, число в строку или строку в дату. Для перевода (преобразования) типов в VBA есть множество функций позволяющих это сделать. Но есть один момент, преобразовать возможно только тот тип или значение, которое подходит по формату нового типа. К примеру, если преобразовать строку "356" в целый тип, то на выходе мы получим число, но если в этой строке будет находиться символ, не относящийся к числу "356р", то преобразование завершится ошибкой несовпадения типов (Type mismatch).
В таблице ниже приведен полный список функций преобразования и тип, в который происходит преобразование:
Функция | Возвращает тип | Действие |
CBool | Boolean | Преобразует значение в булевый тип |
CByte | Byte | Преобразует значение в тип Byte |
CCur | Currency | Преобразует значение в тип Currency |
CDate | Date | Преобразует значение в Дату и Время |
CDbl | Double | Преобразует значение в тип Double |
CDec | Decimal | Преобразует значение в подтип Decimal типа Variant |
CInt | Integer | Преобразует значение в целый тип |
CLng | Long | Преобразует значение в длинное целое |
CSng | Single | Преобразует значение в тип Single |
CStr | String | Преобразует значение в строку |
CVar | Variant | Преобразует значение в тип Variant |
Использование функций преобразования типов
Работать с функциями преобразования легко. К примеру, необходимо преобразовать число 4568 в строку:
Dim OutStr as String
OutStr = CStr(4568)
Преобразование строки или числа в булевый тип
Dim OutBool as Boolean
'Функция вернет значение True
OutBool = CBool(1)
OutBool = CBool ("TRUE")
Преобразование строки или числа в дату и время
Dim OutDate as Date
OutDate = CDate("25/06/03 23:35")
OutDate = CDate("25.06.03")
OutDate = CDate("37797,9826388889")
Примечание: Функции преобразования можно использовать непосредственно в выражении избегая создания лишних переменных. Например: x=y+CInt("456")+z
- 187308 просмотров
Добавить комментарий