Setiap fungsi memaksakan ekspresi ke tipe datatertentu .
Sintaks
CBool( ekspresi )
CByte( ekspresi )
CCur( expression )
CDate( expression )
CDbl( ekspresi )
CDec( ekspresi )
CInt( ekspresi )
CLng( ekspresi )
CSng( ekspresi )
CStr( ekspresi )
CVar( ekspresi )
Ekspresi yang diperlukanargumen adalah ekspresi string atau ekpresi numerik.
Tipe Pengembalian
Nama fungsi menentukan tipe pengembalian seperti yang diperlihatkan dalam hal berikut:
Fungsi |
Tipe Pengembalian |
Rentang untuk argumen ekspresi |
---|---|---|
CBool |
Boolean |
Ekspresi string atau numerik apa pun yang valid. |
CByte |
Byte |
0 sampai 255. |
CCur |
Mata Uang |
-922.337.203.685.477,5808 menjadi 922.337.203.685.477,5807. |
CDate |
Tanggal |
Ekspresi tanggal apa pun yang valid. |
CDbl |
Ganda |
-1.79769313486231E308 untuk -4,94065645841247E-324 untuk nilai negatif; 4,94065645841247E-324 menjadi 1,79769313486232E308 untuk nilai positif. |
CDec |
Desimal |
+/-79.228.162.514.264.337.593.543.950.335 untuk angka berskala nol, yaitu angka tanpa tempat desimal. Untuk angka dengan 28 tempat desimal, rentangnya adalah +/-7.9228162514264337593543950335. Kemungkinan angka bukan nol terkecil adalah 0,0000000000000000000000000001. |
CInt |
Bilangan bulat |
-32.768 hingga 32.767; pecahan dibulatkan. |
CLng |
Lama |
-2.147.483.648 menjadi 2.147.483.647; pecahan dibulatkan. |
CSng |
Tunggal |
-3,402823E38 hingga -1,401298E-45 untuk nilai negatif; 1,401298E-45 hingga 3,402823E38 untuk nilai positif. |
CStr |
String |
Mengembalikan untuk CStr bergantung pada argumen ekspresi . |
CVar |
Varian |
Rentang yang sama dengan Double untuk numerik. Rentang yang sama dengan String untuk non-numerik. |
Keterangan
Jika ekspresi yang diteruskan ke fungsi berada di luar rentang tipe data yang sedang dikonversi, kesalahan terjadi.
Secara umum, Anda bisa mendokumentasikan kode Anda menggunakan fungsi konversi tipe data untuk memperlihatkan bahwa hasil dari beberapa operasi harus dinyatakan sebagai tipe data tertentu daripada tipe data default. Misalnya, gunakan CCur untuk memaksa aritmetika mata uang dalam kasus ketika presisi tunggal, presisi ganda, atau aritmetika bilangan bulat biasanya akan terjadi.
Anda harus menggunakan fungsi konversi tipe data, bukan Val untuk menyediakan konversi sadar internasional dari satu tipe data ke tipe data lainnya. Misalnya, ketika Anda menggunakan CCur, pemisah desimal yang berbeda, pemisah ribuan berbeda, dan berbagai opsi mata uang dikenali dengan benar tergantung pada pengaturan lokal komputer Anda.
Ketika bagian pecahan tepatnya 0,5, CInt dan CLng selalu membulatkannya ke angka genjat terdekat. Misalnya, 0,5 membulatkan ke 0, dan 1,5 membulatkan ke 2. CInt dan CLng berbeda dari fungsi Fix dan Int , yang memotong, bukan membulatkan, bagian pecahan dari angka. Selain itu, Fix dan Int selalu mengembalikan nilai dengan tipe yang sama seperti yang dialihkan.
Gunakan fungsi IsDate untuk menentukan apakah tanggal dapat dikonversi menjadi tanggal atau waktu. CDate mengenali literal tanggal dan literal waktu serta beberapa angka yang termasuk dalam rentang tanggal yang dapat diterima. Saat mengonversi angka menjadi tanggal, bagian bilangan bulat dikonversi menjadi tanggal. Setiap bagian pecahan dari angka dikonversi menjadi waktu hari, dimulai pada tengah malam.
CDate mengenali format tanggal sesuai dengan pengaturan lokal sistem Anda. Urutan hari, bulan, dan tahun yang benar mungkin tidak ditentukan jika disediakan dalam format selain salah satu pengaturan tanggal yang dikenali. Selain itu, format tanggal panjang tidak dikenali jika juga berisi string hari dalam seminggu.
Fungsi CVDate juga disediakan untuk kompatibilitas dengan versi Visual Basic sebelumnya. Sintaks fungsi CVDate identik dengan fungsi CDate , namun, CVDate mengembalikan Varian yang subtipenya adalah Tanggal , bukan tipe Tanggal aktual. Karena sekarang ada tipe Tanggal Intrinsik, tidak perlu lagi untuk CVDate. Efek yang sama dapat dicapai dengan mengonversi ekspresi menjadi Tanggal, lalu menetapkannya ke Varian. Teknik ini konsisten dengan konversi semua jenis intrinsik lainnya ke subtipe Varian yang setara.
Catatan: Fungsi CDec tidak mengembalikan tipe data diskrit; namun, varian selalu mengembalikan Varian yang nilainya telah dikonversi menjadi subtipe Desimal .
Contoh kueri
Ekspresi |
Hasil |
---|---|
SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; |
Mengembalikan "SalePrice", "FinalPrice" dan mengevaluasi jika SalePrice lebih besar dari Harga Akhir. Mengembalikan "-1" jika true dan "0" jika false. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Kuantitas" menjadi format byte dan ditampilkan di kolom Expr1 Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Kuantitas" menjadi format Mata Uang dan ditampilkan di kolom Expr1. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "DateofSale" menjadi format Tanggal dan ditampilkan di kolom Expr1. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Diskon" menjadi format Ganda dan ditampilkan di kolom Expr1. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Diskon" menjadi format Bilangan Bulat dan ditampilkan di kolom Expr1. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Diskon" ke dalam format Long dan ditampilkan di kolom Expr1. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Diskon" menjadi Format tunggal dan ditampilkan di kolom Expr1. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Diskon" menjadi format String dan ditampilkan di kolom Expr1. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Mengembalikan "PRODUCTID",mengonversi nilai dalam bidang "Diskon" menjadi Ganda untuk nilai numerik dan String untuk nilai Nonnumerik. |
Contoh VBA
Catatan: Contoh yang mengikuti demonstrasi penggunaan 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 CBool untuk mengonversi ekspresi menjadi Boolean. Jika ekspresi mengevaluasi ke nilai bukan beku, CBool mengembalikan True; jika tidak, 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 CByte untuk 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 CCur untuk mengonversi ekspresi menjadi Mata Uang.
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 CDate untuk mengonversi string menjadi Tanggal. Secara umum, tanggal dan waktu pengodean keras sebagai string (seperti yang diperlihatkan dalam contoh ini) tidak disarankan. Gunakan literal tanggal dan waktu, 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 CDbl untuk 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 CDec untuk mengonversi nilai numerik menjadi Desimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Fungsi CInt
Contoh ini menggunakan fungsi CInt untuk mengonversi nilai menjadi Bilangan Bulat.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Fungsi CLng
Contoh ini menggunakan fungsi CLng untuk 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 CSng untuk mengonversi nilai menjadi Tunggal.
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 CStr untuk 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 CVar untuk mengonversi ekspresi menjadi Varian.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.