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

Sorun, PrinterLabel'ın bir String olduğunu ve onu bir Int'e dönüştürmek ve karşılaştırmaktır.Dizgeyi tamsayı olarak dönüştürme

PrinterLabel ayrıca bir sayı "218"

herhangi bir öneriniz olan bir String?

cevap

44

İhtiyacınız olan işlev CInt'dur.

yani CInt(PrinterLabel)

MSDN'deki

Edit Type Conversion Functions (Visual Basic) Bkz: unutmayın CInt ve akrabaları VB.NET, VBScript farklı davrandığını. Örneğin, VB.net'de CInt 32 bitlik bir tamsayıya çevirir, ancak VBScript'te CInt 16 bitlik bir tam sayıya dönüştürür. Olası taşmalara karşı uyanık olun!

+1

Dizeyi bir dizeyi saklayan dönüştürmeyi denedim, ancak 'Typeconflict:' CInt ' – Black

+0

@Black'i almayı denedim Sayısal dizede bazı öncü veya sonda boşlukları olmalı, bunları kaldırmak için' Döşeme 'işlevini kullanın ve sonra CInt kullanarak 16 bitlik bir tam sayıya. – GTAVLover

İlgili konular