Convert String to Number

tuhocvba

Administrator
Thành viên BQT
Câu chuyện của chúng ta là chuyển string thành số.

1. Kiểm tra có phải là số hay không bằng hàm sẵn có của VBA là isnumeric.
Mã:
Sub test1()
    Dim s As String
    s = "a"
    If IsNumeric(s) = True Then
        MsgBox "OK"
    Else
        MsgBox "Not Good"
    End If
End Sub
2. Nếu là số, chúng ta muốn convert, chúng ta có thể sử dụng hàm sẵn có của VBA là Val.
Mã:
Sub test2a()
    Dim s As String
    Dim d As Double
    
    s = "-0.02"
    If IsNumeric(s) = True Then
        d = Val(s)
    Else
        d = -1
    End If
    MsgBox d
End Sub
 

vbano1

SMod
Thành viên BQT
Khai báo sẽ ảnh hưởng tới giá trị.
test2a, khai báo d là double, như vậy ta sẽ có kết quả d = -0.02.
Tuy nhiên với ví dụ sau, tôi khai báo d là integer thì d = 0.
Mã:
Sub test2b()
    Dim s As String
    Dim d As Integer
    
    s = "-0.02"
    If IsNumeric(s) = True Then
        d = Val(s)
    Else
        d = -1
    End If
    MsgBox d
End Sub
 
Top