2012-01-20 51 views
22
PrinterLabel = Printer + PrinterNumber 

If Floors = 1 And (PrinterLabel) > 127 Then 
    Wscript.Echo "Invalid Printer11 Selection "  
    Wscript.Quit 
End If 

If Floors = 2 And PrinterLabel > 220 Then 
    Wscript.Echo "Invalid Printerss Selection "  
    Wscript.Quit 
End If 

Vấn đề là PrinterLabel là một chuỗi và tôi muốn chuyển nó thành Int và so sánh nó.Chuyển chuỗi thành số nguyên

Máy in nhãn là một chuỗi cũng là một số "218"

Bất kỳ đề xuất nào?

Trả lời

44

Chức năng bạn cần là CInt.

tức CInt(PrinterLabel)

Xem Type Conversion Functions (Visual Basic) trên MSDN

Edit: Hãy nhận biết rằng CInt và người thân của mình hành xử khác nhau trong VB.net và VBScript. Ví dụ, trong VB.net, CInt chuyển thành số nguyên 32 bit, nhưng trong VBScript, CInt chuyển thành số nguyên 16 bit. Hãy chú ý đến các dòng tràn tiềm năng!

+1

Tôi cố gắng chuyển đổi mảng của mình để lưu trữ chuỗi, nhưng tôi nhận được 'Typeconflict: 'CInt'' – Black

+0

@Black Phải có một số khoảng trắng đầu hoặc cuối trong chuỗi số, sử dụng chức năng' Trim' để xóa chúng và sau đó truyền đến số nguyên 16 bit sử dụng 'CInt'. – GTAVLover

Các vấn đề liên quan