Chức năng VBA CDBL | Làm thế nào để chuyển đổi giá trị sang kiểu dữ liệu kép?

Hàm Excel VBA CDBL

VBA CDBL là một hàm chuyển đổi kiểu dữ liệu có sẵn và công dụng của hàm này là nó chuyển đổi kiểu dữ liệu của bất kỳ giá trị nào của biến đã cho thành kiểu dữ liệu Double, hàm này chỉ nhận một đối số duy nhất là giá trị của chính biến đó.

Trong VBA “CDBL” là viết tắt của “Convert to Double”. Hàm này chuyển đổi số đã cho thành kiểu dữ liệu Double. Hãy xem cú pháp của hàm CDBL.

  • Biểu thức là giá trị mà chúng tôi đang cố gắng chuyển đổi sang kiểu dữ liệu Double.

Bất kỳ số động nào được lưu trữ không phải là kiểu dữ liệu kép đều có thể được chuyển đổi bằng cách áp dụng hàm CDBL.

Điểm cần nhớ Ở đây: Chỉ các giá trị số mới có thể được chuyển đổi sang kiểu dữ liệu Double. Bất kỳ thứ gì khác ngoài giá trị số đều không thể được chuyển đổi thành kiểu kép, vì vậy cuối cùng sẽ hiển thị “Lỗi Loại Không khớp trong VBA” như bên dưới.

Bạn đã bao giờ sử dụng kiểu dữ liệu kép trong mã hóa VBA chưa?

Nếu không, nó là giá trị để có một cái nhìn vào nó bây giờ. Double là kiểu dữ liệu được sử dụng để lưu trữ vị trí thập phân của số. Chúng ta có thể có tối đa 13 số thập phân động.

Để có ví dụ, hãy xem mã VBA bên dưới.

Ở trên, tôi đã định nghĩa kiểu biến (k) là Số nguyên. Dim k As Integer

Tiếp theo, tôi đã gán giá trị là k = 25.4561248694615

Khi tôi chạy đoạn mã, chúng tôi sẽ nhận được kết quả như sau.

Chúng tôi nhận được kết quả là 25. Vì chúng tôi đã định nghĩa biến là Integer VBA làm tròn đến giá trị nguyên gần nhất.

Để hiển thị kết quả như nó, chúng ta cần thay đổi kiểu biến từ Integer thành Double.

Điều này sẽ cung cấp cho chúng tôi con số chính xác khi chúng tôi đã gán cho biến.

Được, hãy ghi nhớ điều này, chúng tôi cũng có thể chuyển đổi tất cả các số phân số được lưu trữ dưới dạng kiểu dữ liệu không kép.

Ví dụ để sử dụng chức năng VBA CDBL

Bạn có thể tải xuống Mẫu hàm VBA CDBL này tại đây - Mẫu hàm VBA CDBL

Ví dụ 1

Để bắt đầu quá trình tố tụng, hãy xem đoạn mã dưới đây.

Mã:

 Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub 

Bây giờ tôi sẽ chạy mã và xem điều gì sẽ xảy ra.

Mặc dù loại biến VBA là “Chuỗi”, nó vẫn hiển thị các giá trị thập phân. Điều này là do Chuỗi có thể thuộc bất kỳ loại dữ liệu nào nên các số thập phân hoặc số thực được hiển thị như nó vốn có.

Bây giờ tôi sẽ thay đổi kiểu dữ liệu từ chuỗi thành Số nguyên.

Mã:

 Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub 

Bây giờ tôi sẽ chạy mã và xem điều gì sẽ xảy ra.

Đây là nơi mà hàm CDBL đóng một vai trò quan trọng để chuyển đổi kiểu dữ liệu số nguyên thành gấp đôi. Vì vậy, mã dưới đây là tương tự cho bạn.

Mã:

 Sub Double_Example1 () Dim IntegerNumber dưới dạng chuỗi Dim DoubleNumber dưới dạng Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub 

Điều này sẽ chuyển đổi giá trị kiểu dữ liệu chuỗi thành Double.

Ví dụ số 2

Bây giờ chúng ta hãy chuyển đổi số 854.6947 được lưu trữ dưới dạng kiểu dữ liệu Biến thể thành Đôi.

Mã:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

Biến đầu tiên tôi đã khai báo là “Biến thể”. Dim VaraintNumber

Lưu ý: Khi kiểu biến không được khai báo, nó sẽ trở thành kiểu dữ liệu chung Biến thể.

Tiếp theo, tôi đã khai báo một biến nữa tức là Dim DoubleNumber As Double

Đối với biến đầu tiên VaraintNumber, chúng tôi đã gán giá trị là 854.6947.

Bây giờ bằng cách sử dụng biến thứ hai, chúng ta đã áp dụng hàm CDBL để chuyển giá trị Biến thành kiểu dữ liệu Double.

DoubleNumber = CDbl (VaraintNumber)

Phần cuối cùng là hiển thị kết quả trong hộp thông báo. MsgBox DoubleNumber

Bây giờ tôi sẽ chạy mã để xem kết quả.

Những điều cần ghi nhớ

  • Kiểu dữ liệu kép chỉ có thể chấp nhận các số dạng số.
  • Nếu giá trị văn bản được cung cấp, nó sẽ gây ra lỗi Loại không khớp.
  • Kiểu dữ liệu kép chỉ có thể hiển thị 13 chữ số của số thực.

$config[zx-auto] not found$config[zx-overlay] not found