Wert <0 triggert nicht bei If <0 :o

  • Hey,

    ich habe folgenden Code (Ausschnitt):

    [autoit]

    If Cos($iGrLambda) < 0 Then
    $iPlus = 180
    Else
    $iPlus = 0
    EndIf

    [/autoit]


    Mit $iGrLambda = 133 (also cos(133) = 0.49487222040343)
    Das ist doch kleiner Null oder nicht? $iPlus ist aber danach immer noch 0?!
    [Selbst wenn ich noch um Cos(...) ein Int(...) setze triggert es nicht...]

    Bin mal gespannt was ihr dazu sagt.
    Aquaplant

    Einmal editiert, zuletzt von Aquaplant (10. Dezember 2011 um 02:58)

  • 0.4 ist immer noch größer als 0, eben 0 < 0.4 < 1.
    -0.4 wäre < 0.
    Übrigens verwendet AutoIt immer das Bogenmaß.

    [autoit]

    Const $PI = ACos(-1)
    Const $DEG2RAD = $PI/180
    Const $RAD2DEG = 180/$PI
    MsgBox(0, "", Round(Sin($PI), 12)) ; Bei 12 Stellen ist das Ergebnis noch OK
    MsgBox(0, "", Sin(133*$DEG2RAD))
    MsgBox(0, "", ASin(1)*$RAD2DEG)

    [/autoit]