2012-01-20 16 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 

Il problema è che PrinterLabel è una stringa e voglio convertirlo in un Int e confrontarlo.Conversione da stringa a numero intero

Il PrinterLabel è una stringa che è anche un numero "218"

Qualche suggerimento?

risposta

44

La funzione richiesta è CInt.

cioè CInt(PrinterLabel)

Vedi Type Conversion Functions (Visual Basic) su MSDN

Edit: Siate consapevoli che CInt e dei suoi parenti si comportano in modo diverso in VB.net e VBScript. Ad esempio, in VB.net, CInt esegue il cast di un intero a 32 bit, ma in VBScript, CInt esegue il cast di un intero a 16 bit. Essere alla ricerca di potenziali tracimazioni!

+1

Ho provato a convertire la mia matrice che memorizza una stringa, ma ottengo 'Typeconflict: 'CInt'' – Black

+0

@Black Ci devono essere alcuni spazi iniziali o finali nella stringa numerica, utilizzare la funzione' Trim' per rimuoverli e quindi eseguire il cast a un intero a 16 bit usando 'CInt'. – GTAVLover