5 Khái nim cs v lp trình (ti p) ậế
5.4 Chuyển đổi kiểu dữ liệu
Visual Basic cung cấp 1 số hàm giúp chúng ta chuyển đổi 1 giá trị sang 1 kiểu dữ liệu nhất định.
Tên hàm Kiểu dữ liệu đích
Cbool Boolean Cbyte Byte Ccur Currency Cdate Date CDbl Double Cint Integer CLng Long CSng Single CStr String Cvar Variant CVErr Error
Chú ý: Kiểu dữ liệu truyền cho hàm chuyển đổi phải phù hợp. Ví dụ, khi chuyển 1 giá trị kiểu Long thành 1 số Integer, giá trị kiểu LongValues passed to a conversion function must be valid for the destination data type or an error occurs. For example, if you attempt to convert a Longđó phải trong miền giá trị của kiểu Integer.
Kh¸i niÖm c¬ së vÒ lËp tr×nh (2)
5.5Kiểu dữ liệu Variant
Một biến kiểu Variant có thể lưu trữ giá trị dữ liệu của tất cả các kiểu biến do hệ thống định nghĩa.
Ví dụ:
Dim SomeValue ' Variant by default.
SomeValue = "17" ' SomeValue contains "17" (a two- ' character string).
SomeValue = SomeValue - 15 ' SomeValue now contains ' the numeric value 2.
SomeValue = "U" & SomeValue ' SomeValue now contains ' "U2" (a two- character string).
Một biến kiểuVariantcũng có thể chứa các giá trị đặc biệt là: Empty, Null.
5.5.1 Giá trị Empty
Khi 1 biến kiểu Variant được khởi tạo, nó có giá trị Empty; khi 1 biến kiểu String không chứa 1 kí tự nào, nó có giá trị Empty. Chúng ta có thể kiểm tra 1 giá trị có là Empty hay không bằng hàm IsEmpty.
If IsEmpty(Z) Then Z = 0
5.5.2 Giá trị Null
Biến kiểu Variant có thể chứa 1 giá trị đặc biệt khác là: Null. Null thường được sử dụng trong các ứng dụng cơ sở dữ liệu để chỉ rằng dữ liệu là không xác định hay bị mất.
Chúng ta có thể kiểm tra 1 giá trị có là Null hay không bằng hàm IsNull.
If IsNull(X) And IsNull(Y) Then Z = Null
Else Z = 0 End If
5.5.3 Kiểm tra kiểu dữ liệu
Do biến kiểu Variant có thể lưu trữ kiểu dữ liệu bất kỳ, nên có thể chúng ta cần xác định chính xác kiểu dữ liệu trước khi sử dụng.
Hàm IsNumeric dùng để kiểm tra 1 giá trị có là số hay không. Ví dụ:
IsNumeric("$100") ‘return True IsNumeric("1,560.50") ‘return True IsNumeric("DM100") ‘return False IsNumeric("1.560,50") ‘return False
Hàm IsDate dùng để kiểm tra 1 giá trị có là ngày tháng hay không. Ví dụ:
If IsDate(Text1.Text) Then SomeDate = CDate(Text1.Text)
daysleft = DateSerial(Year(SomeDate) + _ 1, 1, 1) - SomeDate
Text2.Text = daysleft & " days left in the year." Else
MsgBox Text1.Text & " is not a valid date." End If
Nói chung, mọi giá trị đều có thể xem là ở dạng chuỗi. Khi chúng ta muốn luôn đảm bảo kết quả là phép nối các chuỗi, bất kể thể hiện giá trị các biến, chúng ta có thể sử dụng phép toán & .
Ví dụ: Sub Form_Click () Dim X, Y X = "6" Y = "7" Print X + Y, X & Y X = 6 Print X + Y, X & Y End Sub Kết quả in ra: 67 67 13 67
Kh¸i niÖm c¬ së vÒ lËp tr×nh (2)