Setiap fungsi mengonversi ekspresi ke tipe data tertentu.
Sintaks
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Argumen yang diperlukan expression adalah ekspresi string atau numerik.
Tipe pengembalian
Nama fungsi menentukan tipe pengembalian, seperti yang diperlihatkan dalam tabel berikut:
| Fungsi | Tipe pengembalian | Rentang untuk expression argumen |
|---|---|---|
CBool |
Boolean |
Ekspresi string atau numerik yang valid apa pun. |
CByte |
Byte |
0 untuk 255. |
CCur |
Currency |
-922,337,203,685,477.5808 untuk 922,337,203,685,477.5807. |
CDate |
Date |
Ekspresi tanggal apa pun yang valid. |
CDbl |
Double |
-1.79769313486231E308 untuk -4.94065645841247E-324 nilai-nilai negatif; 4.94065645841247E-324 untuk nilai-nilai 1.79769313486232E308 positif. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 untuk angka berskala nol, atau angka tanpa angka desimal. Untuk angka dengan angka desimal 28 , rentangnya adalah +/-7.9228162514264337593543950335. Angka bukan nol terkecil yang mungkin adalah 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 ke 32,767; pecahan dibulatkan. |
CLng |
Long |
-2,147,483,648 ke 2,147,483,647; pecahan dibulatkan. |
CSng |
Single |
-3.402823E38 untuk -1.401298E-45 nilai-nilai negatif; 1.401298E-45 untuk nilai-nilai 3.402823E38 positif. |
CStr |
String |
Nilai yang dikembalikan tergantung pada expression argumen. |
CVar |
Variant |
Rentang yang sama seperti Double untuk nilai numerik. Rentang yang sama seperti String untuk nilai nonnumerik. |
Keterangan
Jika yang expression diteruskan ke fungsi berada di luar rentang tipe data yang Anda konversikan, kesalahan akan terjadi.
Secara umum, Anda dapat mendokumentasikan kode menggunakan fungsi konversi tipe data untuk menunjukkan bahwa hasil operasi harus menggunakan tipe data tertentu, bukan tipe default. Misalnya, gunakan CCur untuk memaksa aritmatika mata uang dalam kasus di mana aritmatika presisi tunggal, presisi ganda, atau bilangan bulat biasanya terjadi.
Gunakan fungsi konversi tipe data sebagai ganti Val untuk menyediakan konversi sadar lokal dari satu tipe data ke tipe data lainnya. Misalnya, saat Anda menggunakan CCur, Access mengenali pemisah desimal, pemisah ribu, dan opsi mata uang yang berbeda berdasarkan pengaturan lokal komputer Anda.
Ketika bagian pecahan tepat, 0.5CInt dan CLng selalu bulatkan ke bilangan genap terdekat. Misalnya, 0.5 membulatkan ke 0, dan 1.5 membulatkan ke 2.
CInt dan CLng berbeda dari Fix fungsi and Int , yang memotong bagian pecahan dari bilangan alih-alih membulatkannya.
Fix
Int dan juga selalu mengembalikan nilai dengan jenis yang sama dengan yang Anda lewatkan.
Gunakan fungsi ini IsDate untuk menentukan apakah date dapat dikonversi menjadi tanggal atau waktu.
CDate Mengenali literal tanggal dan waktu, serta beberapa angka yang berada dalam rentang tanggal yang dapat diterima. Saat Anda mengonversi angka menjadi tanggal, porsi bilangan bulat menjadi tanggal. Setiap bagian pecahan menjadi waktu yang dimulai pada tengah malam.
CDate Mengenali format tanggal sesuai dengan pengaturan lokal sistem Anda. Akses mungkin tidak menentukan urutan hari, bulan, dan tahun yang benar jika Anda menyediakan format selain salah satu pengaturan tanggal yang dikenali. Selain itu, format ini tidak mengenali format tanggal panjang jika format tersebut juga berisi string hari dalam seminggu.
Fungsi ini CVDate juga tersedia untuk kompatibilitas dengan versi Visual Basic yang lebih lama. Sintaks identik CVDate dengan CDate fungsi. Namun, CVDate mengembalikan a Variant yang subtipenya Date , bukan tipe aktual Date . Karena Access kini menyertakan tipe intrinsik Date , Anda tidak lagi memerlukan CVDate. Anda bisa mendapatkan efek yang sama dengan mengonversi ekspresi menjadi a Date lalu menetapkannya ke Varianta . Teknik ini konsisten dengan konversi jenis intrinsik lainnya ke subtipe yang setara.Variant
Catatan
Fungsi ini CDec tidak mengembalikan tipe data diskrit. Sebagai gantinya, akan selalu mengembalikan a yang Variant nilainya telah dikonversi menjadi Decimal subtipe.
Contoh kueri
| Ekspresi | Hasil |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Mengembalikan SalePrice dan FinalPrice, dan mengevaluasi apakah SalePrice lebih besar dari FinalPrice. Mengembalikan -1 jika benar dan 0 jika salah. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam Quantity bidang menjadi Byte, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam DateofSale bidang menjadi Date, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam Discount bidang menjadi Double, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam Discount bidang menjadi Integer, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam Discount bidang menjadi Long, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam Discount bidang menjadi Single, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai dalam Discount bidang menjadi String, dan menampilkannya dalam Expr1 kolom. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Mengembalikan ProductID, mengonversi nilai numerik Discount menjadi Double, dan mengonversi nilai nonnumerik menjadi String. |
Contoh VBA
Catatan
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, lihat referensi VBA Access.
Fungsi CBool
Contoh ini menggunakan fungsi untuk CBool mengonversi ekspresi menjadi Boolean. Jika ekspresi mengevaluasi ke nilai bukan nol, CBool akan mengembalikan True; jika tidak, ekspresi akan mengembalikan 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.
Fungsi CByte
Contoh ini menggunakan fungsi untuk CByte mengonversi ekspresi menjadi Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Fungsi CCur
Contoh ini menggunakan fungsi untuk CCur mengonversi ekspresi menjadi 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).
Fungsi CDate
Contoh ini menggunakan fungsi untuk CDate mengonversi string menjadi Date. Secara umum, tidak disarankan untuk mengodekan tanggal dan waktu sebagai string, seperti yang diperlihatkan dalam contoh ini. Gunakan literal tanggal dan waktu sebagai gantinya, seperti #2/12/1969# dan #4:45:23 PM#, sebagai gantinya.
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)
Fungsi CDbl
Contoh ini menggunakan fungsi untuk CDbl mengonversi ekspresi menjadi Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Fungsi CDec
Contoh ini menggunakan fungsi untuk CDec mengonversi nilai numerik menjadi Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Fungsi CInt
Contoh ini menggunakan fungsi untuk CInt mengonversi nilai menjadi Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Fungsi CLng
Contoh ini menggunakan fungsi untuk CLng mengonversi nilai menjadi 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.
Fungsi CSng
Contoh ini menggunakan fungsi untuk CSng mengonversi nilai menjadi 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.
Fungsi CStr
Contoh ini menggunakan fungsi untuk CStr mengonversi nilai numerik menjadi String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Fungsi CVar
Contoh ini menggunakan fungsi untuk CVar mengonversi ekspresi menjadi Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.