Преминаване към основното съдържание
Office
Функции за преобразуване на типове

Функции за преобразуване на типове

Всяка функция принуждава израз към определен тип данни.

Синтаксис

CBool ( израз )

CByte ( израз )

CCur ( израз )

CDate ( израз )

CDbl ( израз )

CDec ( израз )

CInt ( израз )

CLng ( израз )

CSng ( израз )

CStr ( израз )

CVar ( израз )

Желаният изразаргумент е всеки низов израз или числов израз.

Типове връщания

Името на функцията определя връщания тип, както е показано в следното:

Функция

Върнат тип

Диапазон за израз аргумент

CBool

булев

Всеки валиден низ или числов израз.

CByte

Byte

0 към 255.

CCur

Валута

-922 337 203 685 477,5808 към 922 337 203 685 477,5807.

CDate

Дата

Всеки валиден израз за дата.

CDbl

Double

-1.79769313486231 79769313486232e308 to
-94065645841247e e-324 за отрицателни стойности; 94065645841247e e-324 за 1 79769313486232e308 79769313486232E308 за позитивни стойности.

CDec

Decimal

+/-79228162514264337593543950335 за числа с нулева скала, тоест числа без цифри след десетичния знак. За числа с 28 цифри след десетичния знак диапазонът е
+/-7.9228162514264337593543950335. Най-малкото възможно различно от нула число е 0,0000000000000000000000000001.

CInt

Цяло число

-32 768 до 32 767; дробите се закръгляват.

CLng

Дълго

-2 147 483 648 до 2 147 483 647; дробите се закръгляват.

CSng

Single

-3 402823e38 E38 to- -1 401298e E-45 за отрицателни стойности; -1 401298e e-45 за 3 402823e38 E38 за позитивни стойности.

CStr

String

Връща за CStr зависи от аргумента на израза .

CVar

Вариант

Същият диапазон като при Double за числови стойности. Същият диапазон като при String за нечислови стойности.

Забележки

Ако изразът , препратен към функцията, е извън диапазона на типа данни, който се конвертира в, възниква грешка.

В общи линии можете да документирате своя код, като използвате функциите за преобразуване на типове данни, за да покажете, че резултатът от някаква операция трябва да бъде изразен като определен тип данни, а не типа данни по подразбиране. Например използвайте CCur , за да принудите аритметичната аритметика в случаите, в които нормално ще се случи Единична точност, двойна точност или целочислена аритметична стойност.

Би трябвало да използвате функциите за преобразуване на типове данни вместо Val , за да предоставите международно известни реализации от един тип данни в друг. Например, когато използвате CCur, различните десетични разделители, различните разделители за хиляда и различни опции за валута са правилно разпознати в зависимост от настройката на локал на вашия компютър.

Когато дробната част е точно 0,5, CInt и CLng винаги го закръгляват към най-близкото четно число. Например 0,5 закръглява към 0 и 1,5 закръглява към 2. CInt и CLng се различават от функциите Fix и INT , които се закръгляват, а не закръгляват към дробната част на число. Освен това корекцията и INT винаги връщат стойност от същия тип, в който е подаден.

Използвайте функцията IsDate , за да определите дали Дата може да бъде конвертирана в дата или час. CDate разпознава дата литерали и време литерали, както и някои числа, които попадат в диапазона на приемливи дати. Когато конвертирате число към дата, цялата част на числото се конвертира към дата. Всяка частична част на числото се конвертира в час от деня, започвайки от полунощ.

CDate разпознава форматите за дати според настройката за езикова променлива на вашата система. Правилният ред на деня, месеца и годината може да не се определи, ако е предоставен във формат, различен от този на настройките за разпознатите дати. Освен това не се разпознава дълъг формат на дата, ако съдържа и низ за ден от седмицата.

За съвместимост с предишни версии на Visual Basic е предоставена също функция CVDate . Синтаксисът на функцията CVDate е идентичен с функцията CDate , но CVDate връща опция , чийто подтип е Дата вместо действителна тип Дата . Тъй като вече има присъщ тип Дата , няма повече нужда от CVDate. Същият ефект може да се постигне чрез преобразуване на израз в Дата и след това даване към даден вариант. Тази техника е съвместима с конвертирането на всички други присъщи типове към техните равностойни подтипове.

Забележка:  Функцията CDec не връща дискретен тип данни; Вместо това, той винаги връща стойност от тип Variant , която е конвертирана в десетично подтип.

Примери за заявки

Израз

Резултати

Изберете SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) като Израз1 от productSales;

Връща "SalePrice", "FinalPrice" и изчислява дали SalePrice е по-голямо от крайната цена. Връща "-1" If TRUE и "0" при FALSE.

ИЗБЕРЕТЕ "идентификатор", CByte (количество) като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в поле "количество" в байтове формат и показва в колона Израз1 връща "продуктов идентификатор", преобразува стойностите в полето "количество" във формат на валутата и се показва в колоната Израз1.

ИЗБЕРЕТЕ "CDate" (DateofSale) като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в полето "DateofSale" във формат на дата и се показва в колоната Израз1.

ИЗБЕРЕТЕ "CDbl" ("продуктов") като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в полето "отстъпка" в двоен формат и се показва в колоната Израз1.

ИЗБЕРЕТЕ "CInt" ("продуктов") като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в поле "отстъпка" в цяло число и показва в колоната Израз1.

ИЗБЕРЕТЕ "CLng" ("продуктов") като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в поле "отстъпка" в дълъг формат и се показва в колоната Израз1.

ИЗБЕРЕТЕ "CSng" ("продуктов") като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в полето "отстъпка" в един формат и се показва в колоната Израз1.

ИЗБЕРЕТЕ "CStr" ("продуктов") като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в полето "отстъпка" във формат на низ и се показва в колоната Израз1.

ИЗБЕРЕТЕ "идентификатор", CVar (отстъпка) като Израз1 от productSales;

Връща "продуктов идентификатор", преобразува стойностите в полето "отстъпка" в Double за числови стойности и низ за нечислови стойности.

Примери за VBA

Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

Функция CBool

Съвет:  Конструкторът на изрази с IntelliSense, започващ в Access 2010, ви помага да поправите изразите си.

Този пример използва функцията CBool , за да конвертира израз в булевтип. Ако изразът е оценен като ненулева стойност, 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 , за да конвертира израз в байт.

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

Функция CCur

Този пример използва функцията CCur , за да конвертира израз във валута.

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 , за да конвертира низ в Дата. В общия случай не се препоръчват дати и часове за трудни кодиране като низове (както е показано в този пример). Използвайте дата литерали и време литерали, като например #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 , за да конвертира израз в двойник.

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

Функция CDec

Този пример използва функцията CDec , за да преобразува числова стойност в десетично число.

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

Функция CInt

Този пример използва функцията CInt , за да преобразува стойност в цяло число.

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

Функция CLng

Този пример използва функцията CLng , за да преобразува стойност в дълга.

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 , за да преобразува стойност в Единична.

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 , за да преобразува числова стойност в низ.

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

CVar функция

Този пример използва функцията CVar , за да конвертира израз във вариант.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.

Забележка:  Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас? Ето статията на английски за справка.

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×