Các hàm chuyển đổi kiểu

Mỗi hàm chuyển đổi một biểu thức cho một kiểu dữ liệu cụ thể.

Cú pháp

CBool ( biểu _ thức )

CPC ( biểu _ thức )

Ccur ( biểu _ thức )

Hàm Xdate (biểu _ thức)

Cdbl ( biểu _ thức )

CPC ( biểu _ thức )

CPC ( biểu _ thức )

Clng ( biểu _ thức )

Csng ( biểu _ thức )

CPC ( biểu _ thức )

CPC ( biểu _ thức )

tham đốibiểu thức bắt buộc là bất kỳ biểu thức chuỗi hoặc biểu thức số nào.

Các kiểu trả về

Tên hàm sẽ xác định kiểu trả về như được hiển thị trong các bước sau:

Hàm

Loại trả về

Phạm vi cho biểu thức đối số

CBool

Boolean

Bất kỳ chuỗi hay biểu thức số hợp lệ nào.

CByte

Byte

0 đến 255.

CCur

Tiền tệ

-922.337.203.685.477,5808 đến 922.337.203.685.477,5807.

CDate

Ngày

Bất kỳ biểu thức ngày hợp lệ nào.

CDbl

Kép

-1.79769313486231 79769313486232e308 to
-4.94065645841247 e-324 cho các giá trị âm; 4.94065645841247 e-324 đến 1.79769313486232 79769313486232E308 cho các giá trị dương.

CDec

Decimal

+/-79228162514264337593543950335 cho số không có tỷ lệ, tức là số không có dấu thập phân. Đối với các số có 28 vị trí thập phân
, phạm vi là +/-7.9228162514264337593543950335. Số khác không nhỏ nhất có thể sử dụng là 0,0000000000000000000000000001.

CInt

Số nguyên

-32.768 đến 32.767; phân số được làm tròn.

CLng

Quá

-2.147.483.648 đến 2.147.483.647; phân số được làm tròn.

CSng

Đơn

-3, 402823e38 to-1.401298 E-45 cho các giá trị âm; 1.401298 e-45 đến 3, 402823E38 cho các giá trị dương.

CStr

Chuỗi

Trả về CPC tùy thuộc vào đối số biểu thức .

CVar

Biến

Cùng dải như kiểu Đúp đối với giá trị số. Cùng dải như kiểu Chuỗi đối với giá trị không phải số.

Chú thích

Nếu biểu thức được chuyển sang hàm nằm ngoài phạm vi của kiểu dữ liệu đang được chuyển đổi thành, lỗi xảy ra.

Nói chung, bạn có thể tài liệu mã của mình bằng cách sử dụng các hàm chuyển đổi dữ liệu để cho biết kết quả của một số thao tác sẽ được thể hiện dưới dạng một kiểu dữ liệu cụ thể chứ không phải là kiểu dữ liệu mặc định. Ví dụ, sử dụng Ccur để buộc số học tiền tệ trong các trường hợp có một độ chính xác cao, số học kép chính xác hoặc số nguyên thường sẽ xảy ra.

Bạn nên sử dụng các hàm chuyển đổi kiểu dữ liệu thay vì Val để cung cấp các chuyển đổi thông tin quốc tế từ một kiểu dữ liệu khác. Ví dụ: khi bạn sử dụng Ccur, các dấu tách thập phân khác nhau, các dấu tách hàng nghìn khác nhau, và các tùy chọn tiền tệ khác nhau được nhận dạng đúng tùy thuộc vào thiết đặt bản địa của máy tính của bạn.

Khi phần phân đoạn là chính xác 0,5 , hàm Tint và clng luôn luôn làm tròn nó đến số chẵn gần nhất. Ví dụ: 0,5 làm tròn đến 0 và 1,5 làm tròn đến 2. CPCclng khác với các hàm Fixint , trong đó cắt xén, chứ không phải là tròn, phần phân đoạn của một số. Ngoài ra, hãy sửaint luôn trả về một giá trị của cùng kiểu như được thông qua.

Dùng hàm Isdate để xác định xem ngày có thể được chuyển đổi thành ngày hay thời gian. Hàm ID nhận dạng ngày tháng và literals thời gian cũng như một số số vốn nằm trong phạm vi ngày có thể chấp nhận được. Khi chuyển đổi một số thành ngày, thì phần toàn bộ số sẽ được chuyển đổi thành ngày. Bất kỳ phần phân đoạn nào của số được chuyển đổi thành thời gian trong ngày, hãy bắt đầu từ nửa đêm.

Hàm ID nhận dạng ngày tháng theo các thiết đặt bản địa của hệ thống của bạn. Thứ tự đúng của ngày, tháng và năm có thể không được xác định nếu nó được cung cấp ở định dạng không phải là một trong các thiết đặt ngày được nhận ra. Ngoài ra, một định dạng ngày dài không được nhận diện nếu nó cũng chứa chuỗi ngày trong tuần.

Hàm Cvdate cũng được cung cấp cho tính tương thích với các phiên bản trước của Visual Basic. Cú pháp của hàm Cvdate giống hệt với hàm cidate , Tuy nhiên, Cvdate trả về một biến thể có kiểu con là ngày thay vì kiểu ngày thực tế. Vì hiện giờ là một kiểu ngày nội tại, không có nhu cầu thêm cho cvdate. Có thể đạt được hiệu ứng bằng cách chuyển đổi một biểu thức cho một ngày, rồi gán nó cho một biến thể. Kỹ thuật này phù hợp với việc chuyển đổi tất cả các kiểu nội tại khác cho các kiểu con biến thể tương đương.

Lưu ý:  Hàm Cidec không trả về kiểu dữ liệu rời rạc; thay vào đó, nó luôn trả về một biến thể có giá trị đã được chuyển đổi thành kiểu con số thập phân .

Ví dụ về truy vấn

Biểu thức

Kết quả

CHỌN SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) là Expr1 từ productSales;

Trả về "SalePrice", "FinalPrice" và đánh giá nếu SalePrice lớn hơn giá cuối cùng. Trả về "-1" Nếu true và "0" nếu false.

CHỌN ProductID, CPC (số lượng) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "số lượng" thành định dạng byte và hiển thị trong cột Expr1 trả về "ProductID", chuyển đổi các giá trị trong trường "số lượng" để định dạng tiền tệ và hiển thị trong cột Expr1.

CHỌN ProductID, CPC (DateofSale) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "DateofSale" thành định dạng ngày và hiển thị trong cột Expr1.

CHỌN ProductID, CDbl (Discount) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "Discount" thành định dạng kép và hiển thị trong cột Expr1.

CHỌN ProductID, c (chiết khấu) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "Discount" thành định dạng số nguyên và hiển thị trong cột Expr1.

CHỌN ProductID, CLng (chiết khấu) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "Discount" vào định dạng dài và hiển thị trong cột Expr1.

CHỌN ProductID, CSng (chiết khấu) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "Discount" vào định dạng đơn và hiển thị trong cột Expr1.

CHỌN ProductID, c (chiết khấu) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "Discount" vào định dạng chuỗi và hiển thị trong cột Expr1.

CHỌN ProductID, c = (chiết khấu) là Expr1 từ productSales;

Trả về "ProductID", chuyển đổi các giá trị trong trường "Discount" thành các giá trị số và chuỗi cho các giá trị không phải là số.

Ví dụ về VBA

Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.

Hàm CBool

Mẹo:  Bộ dựng biểu thức có thông minh bắt đầu trong Access 2010 giúp bạn nhận được các biểu thức đúng.

Ví dụ này sử dụng hàm CBool để chuyển đổi một biểu thức sang boolean. Nếu biểu thức đánh giá một giá trị không phải là CBool trả về True; Nếu không, nó trả về 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.

Hàm Cibyte

Ví dụ này sử dụng hàm xbyte để chuyển đổi một biểu thức sang một byte.

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

Hàm CCur

Ví dụ này sử dụng hàm Ccur để chuyển đổi một biểu thức thành tiền tệ.

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

Hàm Xdate

Ví dụ này sử dụng hàm Cidate để chuyển đổi một chuỗi thành ngày. Nói chung, mã cứng ngày tháng và thời gian là chuỗi (như được hiển thị trong ví dụ này) không được đề xuất. Dùng các literals ngày và thời gian, chẳng hạn như #2/12/1969 # và #4:45:23 AM #, thay vào đó.

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)

Hàm CDbl

Ví dụ này sử dụng hàm Cdbl để chuyển đổi một biểu thức thành Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Hàm Cidec

Ví dụ này sử dụng hàm Cidec để chuyển đổi một giá trị số thành thập phân.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

Hàm Ciint

Ví dụ này sử dụng hàm Ciint để chuyển đổi một giá trị thành số nguyên.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

Hàm CLng

Ví dụ này sử dụng hàm Clng để chuyển đổi một giá trị thành dài.

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.

Hàm CSng

Ví dụ này sử dụng hàm Csng để chuyển đổi một giá trị thành một đĩa đơn.

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.

Hàm Cistr

Ví dụ này sử dụng hàm Cistr để chuyển đổi một giá trị số thành một chuỗi.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Hàm Civar

Ví dụ này sử dụng hàm xvar để chuyển đổi một biểu thức thành một biến thể.

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

Lưu ý:  Trang này được dịch tự động nên có thể chứa các lỗi về ngữ pháp hoặc nội dung không chính xác. Mục đích của chúng tôi là khiến nội dung này trở nên hữu ích với bạn. Cho chúng tôi biết thông tin này có hữu ích hay không? Dưới đây là bài viết bằng tiếng Anh để bạn tham khảo..​

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×