ฟังก์ชัน Type Conversion

ฟังก์ชันแต่ละฟังก์ชันบังคับ นิพจน์ ไปยัง ชนิดข้อมูล ที่เฉพาะเจาะจง

ไวยากรณ์

CBool ( นิพจน์ )

CByte ( นิพจน์ )

CCur ( นิพจน์ )

CDate ( นิพจน์ )

CDbl ( นิพจน์ )

CDec ( นิพจน์ )

CInt ( นิพจน์ )

CLng ( นิพจน์ )

CSng ( นิพจน์ )

CStr ( นิพจน์ )

CVar ( นิพจน์ )

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

ชนิดของการส่งกลับ

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

ฟังก์ชัน

ชนิดของการส่งกลับ

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

CBool

บูลีน

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

CByte

ไบต์

0ถึง๒๕๕

CCur

สกุลเงิน

-๙๒๒,๓๓๗,๒๐๓,๖๘๕,๔๗๗.๕๘๐๘ถึง๙๒๒,๓๓๗,๒๐๓,๖๘๕,๔๗๗.๕๘๐๗

CDate

วันที่

นิพจน์วันที่ที่ถูกต้องใดๆ

CDbl

Double

-1.79769313486231 1.79769313486232
-4.94065645841247 e-๓๒๔สำหรับค่าลบ 4.94065645841247 e-๓๒๔ to 1.79769313486232 1.79769313486232 สำหรับค่าบวก

CDec

Decimal

+/-79228162514264337593543950335 สำหรับตัวเลขที่เป็นศูนย์ซึ่งเป็นตัวเลขที่ไม่มีตำแหน่งทศนิยม สำหรับตัวเลขที่มีตำแหน่งทศนิยม28ช่วงคือ
+/-7.9228162514264337593543950335 หมายเลขที่ไม่ใช่ศูนย์ที่เป็นไปได้ที่น้อยที่สุดคือ๐.๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๑

CInt

จำนวนเต็ม

-๓๒,๗๖๘ถึง๓๒,๗๖๗; เศษส่วนจะถูกปัดเศษ

CLng

ยาว

-๒,๑๔๗,๔๘๓,๖๔๘ถึง๒,๑๔๗,๔๘๓,๖๔๗; เศษส่วนจะถูกปัดเศษ

CSng

Single

-3.402823 3.402823-1.401298 E-๔๕สำหรับค่าลบ 1.401298 e-๔๕ to 3.402823 3.402823 สำหรับค่าบวก

CStr

สตริง

ส่งกลับสำหรับ CStr ขึ้นอยู่กับอาร์กิวเมนต์ของนิพจน์

CVar

แปร

ช่วงเดียวกันกับคู่สำหรับ numerics ช่วงเดียวกันกับสตริงที่ไม่ใช่ numerics

ข้อสังเกต

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

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

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

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

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

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

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

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

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

นิพจน์

ผลลัพธ์

เลือก SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CByte (ปริมาณ) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CDate (DateofSale) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CDbl (ส่วนลด) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CInt (ส่วนลด) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CLng (ส่วนลด) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CSng (ส่วนลด) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CStr (ส่วนลด) เป็นนิพจน์จาก productSales

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

เลือก ProductID, CVar (ส่วนลด) เป็นนิพจน์จาก productSales

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

ตัวอย่าง VBA

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

ฟังก์ชัน CBool

เคล็ดลับ:  ตัวสร้างนิพจน์ที่มี IntelliSense เริ่มต้นใน Access ๒๐๑๐จะช่วยให้คุณได้รับนิพจน์ของคุณได้อย่างถูกต้อง

ตัวอย่างนี้ใช้ฟังก์ชัน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.

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

การสมัครใช้งานเพื่อให้ได้ประโยชน์สูงสุดจากเวลาของคุณ

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×