Fungsi Konversi Tipe

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Setiap fungsi mengonversi ekspresi menjadi 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 apa pun.

Tipe pengembalian

Nama fungsi menentukan tipe yang dikembalikan, 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 ke 255.
CCur Currency -922,337,203,685,477.5808 ke 922,337,203,685,477.5807.
CDate Date Ekspresi tanggal apa pun yang valid.
CDbl Double -1.79769313486231E308 untuk -4.94065645841247E-324 nilai negatif; 4.94065645841247E-324 untuk 1.79769313486232E308 nilai positif.
CDec Decimal +/-79,228,162,514,264,337,593,543,950,335 untuk angka berskala nol, atau angka tanpa tempat desimal. Untuk angka dengan 28 tempat desimal, 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 negatif; 1.401298E-45 untuk 3.402823E38 nilai positif.
CStr String Nilai yang dikembalikan bergantung pada expression argumen.
CVar Variant Rentang yang sama seperti Double untuk nilai numerik. Rentang yang sama seperti String untuk nilai nonnumerik.

Keterangan

Jika fungsi yang expression dialihkan berada di luar rentang tipe data yang anda konversi, kesalahan terjadi.

Secara umum, Anda dapat mendokumentasikan kode menggunakan fungsi konversi tipe data untuk memperlihatkan bahwa hasil operasi harus menggunakan tipe data tertentu, bukan tipe default. Misalnya, gunakan CCur untuk memaksa aritmetika mata uang dalam kasus ketika presisi tunggal, presisi ganda, atau aritmetika bilangan bulat biasanya terjadi.

Gunakan fungsi konversi tipe data, bukan Val menyediakan konversi lokal sadar dari satu tipe data ke tipe data lainnya. Misalnya, saat Anda menggunakan CCur, Access mengenali pemisah desimal, pemisah ribuan, dan opsi mata uang yang berbeda berdasarkan pengaturan lokal komputer Anda.

Ketika bagian pecahan tepat , 0.5CInt dan CLng selalu membulatkannya ke bilangan genjat terdekat. Misalnya, 0.5 membulatkan ke 0, dan 1.5 membulatkan ke 2. CInt dan CLng berbeda dari Fix fungsi dan Int , yang memotong bagian pecahan dari angka dan bukan membulatkannya. Fix dan Int juga selalu mengembalikan nilai dengan tipe yang sama dengan yang Anda berikan.

Gunakan fungsi untuk IsDate menentukan apakah date 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 Anda mengonversi angka menjadi tanggal, seluruh bagian angka menjadi tanggal. Bagian pecahan apa pun menjadi waktu hari yang dimulai pada tengah malam.

CDate mengenali format tanggal sesuai dengan pengaturan lokal sistem Anda. Access mungkin tidak menentukan urutan hari, bulan, dan tahun yang benar jika Anda menyediakan format selain salah satu pengaturan tanggal yang dikenali. Selain itu, format tanggal panjang tidak dikenali jika juga berisi string hari dalam seminggu.

Fungsi CVDate ini juga tersedia untuk kompatibilitas dengan versi Visual Basic yang lebih lama. Sintaksnya CVDate identik dengan fungsi.CDate Namun, CVDate mengembalikan Variant subtipe yang bukan Date tipe aktual Date . Karena Access sekarang menyertakan tipe intrinsik Date , Anda tidak lagi memerlukan CVDate. Anda bisa mendapatkan efek yang sama dengan mengonversi ekspresi menjadi lalu Date menetapkannya ke .Variant Teknik ini konsisten dengan konversi tipe intrinsik lainnya ke subtipe yang setara Variant .

Catatan

Fungsi CDec ini tidak mengembalikan tipe data diskrit. Sebaliknya, selalu mengembalikan Variant nilai yang telah dikonversi menjadi Decimal subtipe.

Contoh kueri

Ekspresi Hasil
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; Mengembalikan SalePrice dan FinalPrice, serta mengevaluasi apakah SalePrice lebih besar dari FinalPrice. Mengembalikan -1 jika true dan 0 jika false.
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi QuantityByte, dan menampilkannya dalam Expr1 kolom.
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi DateofSaleDate, dan menampilkannya dalam Expr1 kolom.
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi DiscountDouble, dan menampilkannya dalam Expr1 kolom.
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi DiscountInteger, dan menampilkannya dalam Expr1 kolom.
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi DiscountLong, dan menampilkannya dalam Expr1 kolom.
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi DiscountSingle, dan menampilkannya dalam Expr1 kolom.
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; Mengembalikan ProductID, mengonversi nilai dalam bidang menjadi DiscountString, 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 ini memperlihatkan 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 CBool fungsi untuk mengonversi ekspresi menjadi Boolean. Jika ekspresi mengevaluasi ke nilai bukan beku, CBool 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 CByte fungsi 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 CCur fungsi untuk 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 CDate fungsi untuk mengonversi string menjadi Date. Secara umum, tanggal dan waktu pengodean keras sebagai string, seperti yang diperlihatkan dalam contoh ini, tidak disarankan. Gunakan literal tanggal dan literal 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 CDbl fungsi 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 CDec fungsi untuk 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 CStr fungsi 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 CVar fungsi untuk mengonversi ekspresi menjadi Variant.

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