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

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

Важно : Тази статия е преведена машинно – вижте отказа от отговорност. Английската версия на тази статия за справка можете да намерите тук .

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

Синтаксис

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.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

Цяло число

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

CLng

Дълъг

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

CSng

Single

-3.402823E38 до - 1.401298E-45 за отрицателни стойности; 1.401298E-45 да 3.402823E38 за положителни стойности.

CStr

Низ

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

CVar

Вариант

Един и същ диапазон като Двойна за numerics. Един и същ диапазон като низ за не-numerics.


Забележки

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

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

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

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

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

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

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

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

Примери

Забележка : Примерите по-долу илюстрират използването на тази функция във 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.

Забележка : Отказ от отговорност за машинен превод: Тази статия е преведена от компютърна система без човешка намеса. Microsoft предлага тези машинни преводи, за да помогне на потребителите, които не говорят английски, да се възползват от съдържанието за продукти, услуги и технологии на Microsoft. Тъй като статията е преведена машинно, е възможно да съдържа грешки в речника, синтаксиса и граматиката.

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

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

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

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

×