Функції перетворення типів

Кожна функція призначає виразу певний тип даних.

Синтаксис

CBool( expression )

CByte( expression )

CCur( expression )

CDate( expression )

CDbl( expression )

CDec( expression )

CInt( expression )

CLng( expression )

CSng( expression )

CStr( expression )

CVar( expression )

Обов’язковий аргумент expression має бути рядковим або числовим виразом.

Типи значень, що повертаються

Ім’я функції визначає тип значення, що повертається, як показано нижче:

Функція

Тип повернутого значення

Діапазон для аргументу expression

CBool

Boolean

Будь-який дійсний рядковий або числовий вираз.

CByte

Byte

Від 0 до 255.

CCur

Currency

Від –922 337 203 685 477,5808 до 922 337 203 685 477,5807.

CDate

Date

Будь-який вираз у форматі дати.

CDbl

Double

Від –1,79769313486231E308 до
–4,94065645841247E-324 для від’ємних значень; від 4,94065645841247E-324 до 1,79769313486232E308 для додатних значень.

CDec

Decimal

Від +/–79 228 162 514 264 337 593 543 950 335 для недробових чисел, тобто чисел без десяткових знаків. Для чисел із 28 десятковими знаками діапазон становить
+/–7,9228162514264337593543950335. Найменше можливе ненульове число – 0,0000000000000000000000000001.

CInt

Integer

Від –32 768 до 32 767; дроби округлюються.

CLng

Long

Від –2 147 483 648 до 2 147 483 647; дроби округлюються.

CSng

Single

Від –3,402823E38 до –1,401298E-45 для від’ємних значень; від 1,401298E-45 до 3,402823E38 для додатних значень.

CStr

String

Тип повернутого значення для CStr залежить від аргументу expression.

CVar

Variant

Такий же діапазон, як і в типу Double для числових виразів. Такий же діапазон як і в типу String для нечислових виразів.


Примітки

Якщо заданий у функції аргумент expression виходить за межі діапазону відповідних типів даних, станеться помилка.

Загалом ви можете записати код, використовуючи функції перетворення типу даних, щоб показати, що результат певної дії має бути виражено як значення визначеного, а не стандартного типу даних. Наприклад, скористайтеся функцією CCur для примусового розрахунку значень типу "Грошова одиниця", де зазвичай відбувався би розрахунок чисел одинарної чи подвійної точності або цілих чисел.

Функції перетворення типу даних слід застосовувати замість функції Val, щоб перетворювати типи даних відповідно до локальних стандартів країни. Наприклад, якщо використовується функція CCur, різні десяткові роздільники, роздільники груп розрядів, а також різні грошові одиниці розпізнаються належним чином залежно від локалізації вашого комп’ютера.

Якщо дробова частина становить рівно 0,5, функції CInt і CLng завжди округлюють її до найближчого парного числа. Наприклад, 0,5 округлюється до 0, а 1,5 – до 2. Функції CInt і CLng відрізняються від Fix та Int, які радше обрізають дробову частину числа, а не округлюють її. Крім того, функції Fix та Int завжди повертають значення того самого типу, що й вихідне.

Використовуйте функцію IsDate, якщо вам потрібно визначити, чи значення date можна перетворити на дату або час. Функція CDate розпізнає літерали дати й літерали часу, а також деякі числа, які потрапляють до діапазону прийнятних дат. Якщо перетворити число на дату, на дату перетвориться ціла частина числа. Дробова частина числа перетвориться на час дня, причому відлік починається з півночі.

Функція CDate розпізнає формати дати відповідно до регіону, налаштованого у вашій системі. Правильний порядок дня, місяця й року може не бути визначено, якщо дату вказано у форматі, що відрізняються від розпізнаваних параметрів дати. Крім того, довгий формат дати не розпізнається, якщо він містить рядок із днем тижня.

Функція CVDate також використовується для сумісності з попередніми версіями Visual Basic. Функції CVDate і CDate мають однаковий синтаксис, проте функція CVDate повертає значення типу Variant із підтипом Date, а не фактичного типу Date. Оскільки тепер з’явився спеціальний тип Date, потреба в CVDate відпала. Такого ж результату можна досягти, перетворивши вираз на значення типу Date, а потім призначивши його значенню тип Variant. Цей метод підходить і для перетворення всіх інших спеціальних типів на їхні еквівалентні підтипи Variant.

Примітка :  Функція CDec не повертає значення окремого типу даних, а натомість завжди повертає тип Variant, значення якого перетворено на підтип Decimal.

Приклади

Примітка : У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

Функція CBool

Порада :  Побудовник виразів із технологією IntelliSense, який уперше з’явився в Access 2010, допомагає правильно складати вирази.

У цьому прикладі використано функцію CBool, щоб призначити виразу тип Boolean. Якщо вираз не дорівнює 0, функція CBool повертає значення True; інакше повертається значення False.

Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.

Функція CByte

У цьому прикладі використано функцію CByte, щоб призначити виразу тип Byte.

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

Функція CCur

У цьому прикладі використано функцію CCur, щоб призначити виразу тип Currency.

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).

Функція CDate

У цьому прикладі використано функцію CDate, щоб призначити виразу тип Date. Загалом вводити значення дати й часу як рядки (як показано в цьому прикладі) не рекомендується. Краще використовувати літерали дати й часу, як-от #2/12/1969# і #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)

Функція CDbl

У цьому прикладі використано функцію CDbl, щоб призначити виразу тип Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Функція CDec

У цьому прикладі використано функцію CDec, щоб перетворити числове значення на значення типу Decimal.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

Функція CInt

У цьому прикладі використано функцію CInt, щоб призначити значенню тип Integer.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

Функція CLng

У цьому прикладі використано функцію CLng, щоб призначити значенню тип Long.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.

Функція CSng

У цьому прикладі використано функцію CSng, щоб призначити значенню тип Single.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.

Функція CStr

У цьому прикладі використано функцію CStr, щоб перетворити числове значення на значення типу String.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Функція CVar

У цьому прикладі використано функцію CVar, щоб призначити виразу тип Variant.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×