ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

แต่ละฟังก์ชันบังคับให้ นิพจน์ กับ ชนิดข้อมูล ที่ระบุ

ไวยากรณ์

CBool( expression )

CByte( expression )

CCur( expression )

CDate( expression )

CDbl( expression )

CDec( expression )

CInt( expression )

CLng( expression )

CSng( expression )

CStr( expression )

CVar( expression )

อาร์กิวเมนต์ นิพจน์ ที่จําเป็นคือ นิพจน์สตริง หรือ นิพจน์ตัวเลข

ชนิดการส่งคืน

ชื่อฟังก์ชันจะกําหนดชนิดการส่งกลับตามที่แสดงดังต่อไปนี้:

ฟังก์ชัน

ชนิดการส่งคืน

ช่วงสําหรับ อาร์กิวเมนต์ ของนิพจน์

CBool

บูลีน

นิพจน์สตริงหรือตัวเลขที่ถูกต้องใดก็ได้

CByte

ไบต์

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

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

ตัว แปร

ช่วงเดียวกันกับ สองชั้น สําหรับตัวเลข ช่วงเดียวกันกับ สตริง สําหรับข้อมูลที่ไม่ใช่ตัวเลข

ข้อสังเกต

ถ้า นิพจน์ ที่ส่งผ่านไปยังฟังก์ชันอยู่นอกช่วงของชนิดข้อมูลที่จะถูกแปลง จะเกิดข้อผิดพลาดขึ้น

โดยทั่วไปแล้ว คุณสามารถจัดทําเอกสารโค้ดของคุณโดยใช้ฟังก์ชันการแปลงชนิดข้อมูลเพื่อแสดงว่าผลลัพธ์ของการดําเนินการบางอย่างควรแสดงเป็นชนิดข้อมูลเฉพาะแทนที่จะเป็นชนิดข้อมูลเริ่มต้น ตัวอย่างเช่น ใช้ CCur เพื่อบังคับให้ใส่เลขคณิตของสกุลเงินในกรณีที่มีความแม่นยําเดียว ความแม่นยําสองเท่า หรือจํานวนเต็มตามปกติ

คุณควรใช้ฟังก์ชันการแปลงชนิดข้อมูลแทน Val เพื่อให้การแปลงที่ทราบในระดับสากลจากชนิดข้อมูลหนึ่งไปเป็นอีกชนิดข้อมูลหนึ่ง ตัวอย่างเช่น เมื่อคุณใช้ CCur ตัวคั่นทศนิยมที่แตกต่างกัน ตัวคั่นหลักพันที่แตกต่างกัน และตัวเลือกสกุลเงินต่างๆ จะรู้จักอย่างเหมาะสม โดยขึ้นอยู่กับการตั้งค่าตําแหน่งที่ตั้งของคอมพิวเตอร์ของคุณ

เมื่อส่วนที่เป็นเศษส่วนเท่ากับ 0.5 แล้ว CInt และ CLng จะปัดเศษเป็นเลขคู่ที่ใกล้ที่สุดเสมอ ตัวอย่างเช่น 0.5 ปัดเศษเป็น 0 และ 1.5 จะปัดเศษเป็น 2 CInt และ CLng แตกต่างจากฟังก์ชัน Fix และ Int ซึ่งตัดทอนแทนที่จะปัดเศษส่วนที่เป็นเศษส่วนของตัวเลข นอกจากนี้ แก้ไข และ Int จะส่งกลับค่าชนิดเดียวกันกับส่งผ่านเสมอ

ใช้ฟังก์ชัน IsDate เพื่อกําหนดว่า วันที่ สามารถแปลงเป็นวันที่หรือเวลาได้หรือไม่ CDate จะจดจําสัญพจน์วันที่และตัวอักษรของเวลา รวมถึงตัวเลขบางตัวที่อยู่ในช่วงของวันที่ที่ยอมรับได้ เมื่อแปลงตัวเลขเป็นวันที่ ส่วนจํานวนเต็มจะถูกแปลงเป็นวันที่ ส่วนที่เป็นเศษส่วนของตัวเลขจะถูกแปลงเป็นเวลาของวัน โดยเริ่มต้นที่เที่ยงคืน

CDate จะจดจํารูปแบบวันที่ตามการตั้งค่า ตำแหน่งกระทำการ ของระบบของคุณ อาจไม่สามารถกําหนดลําดับของวัน เดือน และปีที่ถูกต้องได้ ถ้ามีการเรียงลําดับในรูปแบบอื่นนอกเหนือจากการตั้งค่าวันที่ที่รู้จัก นอกจากนี้ ระบบไม่รู้จักรูปแบบวันที่แบบยาวถ้ามีสตริงวันในสัปดาห์ด้วย

นอกจากนี้ยังมีฟังก์ชัน CVDate เพื่อความเข้ากันได้กับ Visual Basic รุ่นก่อนหน้า ไวยากรณ์ของฟังก์ชัน CVDate จะเหมือนกับฟังก์ชัน CDate อย่างไรก็ตาม CVDate จะส่งกลับ ตัวแปร ซึ่งมีชนิดย่อยเป็น วันที่ แทนชนิด วันที่ จริง เนื่องจากมีชนิด วันที่ ภายในจึงไม่จําเป็นต้องใช้ CVDate อีกต่อไป เอฟเฟ็กต์เดียวกันสามารถทําได้โดยการแปลงนิพจน์เป็นวันที่ แล้วกําหนดให้เป็น ตัวแปร เทคนิคนี้สอดคล้องกับการแปลงชนิดภายในอื่นๆ ทั้งหมดเป็นชนิดย่อย Variant ที่เทียบเท่ากัน

หมายเหตุ: ฟังก์ชัน CDec ไม่ส่งกลับชนิดข้อมูลแบบแยก แต่ส่งกลับค่าชนิดข้อมูลที่แยกจากกัน แต่จะส่งกลับ ตัวแปร ที่มีการแปลงค่าเป็นชนิดย่อย ทศนิยม เสมอ

ตัวอย่างคิวรี

Expression

ผลลัพธ์

SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales;

ส่งกลับ "SalePrice", "FinalPrice" และประเมินว่า SalePrice มากกว่าราคาสุดท้ายหรือไม่ ส่งกลับ "-1" ถ้าเป็น true และ "0" ถ้าเป็น false

SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales;

ส่งกลับ "ProductID",แปลงค่าในเขตข้อมูล "ปริมาณ" เป็นรูปแบบไบต์ และแสดงในคอลัมน์ Expr1 ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "ปริมาณ" เป็นรูปแบบสกุลเงินและแสดงในคอลัมน์ Expr1

SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "DateofSale" เป็นรูปแบบวันที่และแสดงในคอลัมน์ Expr1

SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "Discount" เป็นรูปแบบ Double และแสดงในคอลัมน์ Expr1

SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "Discount" เป็นรูปแบบจํานวนเต็มและแสดงในคอลัมน์ Expr1

SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "Discount" เป็นรูปแบบ Long และแสดงในคอลัมน์ Expr1

SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "Discount" เป็นรูปแบบเดียวและแสดงในคอลัมน์ Expr1

SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "Discount" เป็นรูปแบบสตริงและแสดงในคอลัมน์ Expr1

SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales;

ส่งกลับ "ProductID" แปลงค่าในเขตข้อมูล "Discount" เป็น Double สําหรับค่าตัวเลขและสตริงสําหรับค่าที่ไม่ใช่ตัวเลข

ตัวอย่าง VBA

หมายเหตุ: ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้ดูที่ การอ้างอิง VBA ของ Access

ฟังก์ชัน CBool

ตัวอย่างนี้ใช้ฟังก์ชัน CBool เพื่อแปลงนิพจน์เป็นบูลีน ถ้านิพจน์ประเมินเป็นค่าที่ไม่ใช่ศูนย์ CBool จะส่งกลับเป็น True แต่ถ้านิพจน์มีค่าที่ไม่ใช่ศูนย์ มิฉะนั้นจะส่งกลับเป็นเท็จ

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 เพื่อแปลงนิพจน์เป็น Double

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 เพื่อแปลงค่าเป็น 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.

ฟังก์ชัน CSng

ตัวอย่างนี้ใช้ฟังก์ชัน CSng เพื่อแปลงค่าเป็น 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.

ฟังก์ชัน 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 ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×