if funktion und problem beim vergleichen

  • hi, ich wusste nicht wie ich sowas in der suchfunktion eingeben koennte, desshalb hab ich ein neues thema erstellt

    ich benutze autoit 3.3.0.0

    und ich bin gerade ein wenig am skipten und verzweifel bei einem if vergleich

    Code
    if $MAX>=$Teile then 
    		$CWL=1
    	Else
    		$CWL=2
    	EndIf


    funktion soll folgendes machen:
    sofern mehr teile vorhanden sind als in max angegeben soll cwl 2 ausgeben
    sind aber genausoviele teile oder weniger wie in max vorgegeben enthalten soll cwl 1 ausgeben

    so ist es eigendlich recht einfach aber nun komm ich zu mein problem:
    wenn ich 10 teile habe und max 100 ist cwl =1
    sind aber 20 teile und max 100 gibt mir die funktion cwl=2 zurueck
    bei 100 teile und 1000 max cwl=1
    200 teile und 1000 max cwl=2

    habe ich irgendwas uebersehen? mir kommt es fast so vor als wueder er keine dezimalzahlen vergleichen oder so etwas

    naja ich hoffe auf eine schnelle und einfache loesung

    ich danke schonmal

    Einmal editiert, zuletzt von xii (13. September 2009 um 03:49)

  • Also, das passiert nur, wenn die Zahlen als String formatiert sind. Also mit " umschlossen. Siehe hier:

    [autoit]

    $max = "1000"
    $teile = "200"
    If $max >= $teile Then
    $CWL = 1
    Else
    $CWL = 2
    EndIf
    MsgBox(0, "", $CWL)

    [/autoit]


    Lösung einfach mit Number:

    [autoit]

    $max = "1000"
    $teile = "200"
    If Number($max) >= Number($teile) Then
    $CWL = 1
    Else
    $CWL = 2
    EndIf
    MsgBox(0, "", $CWL)

    [/autoit]

    Oder nicht als String:

    [autoit]

    $max = 1000
    $teile = 200
    If $max >= $teile Then
    $CWL = 1
    Else
    $CWL = 2
    EndIf
    MsgBox(0, "", $CWL)

    [/autoit]