Funktionen zum Durchführen diverser mathematischer Operationen wie Runden, Potenzieren, Quadrieren, etc.
Gibt den absoluten Wert von Zahl zurück.
Wert := Abs(Zahl)
Der Rückgabewert hat den gleichen Typ wie Zahl (Integer oder Floating-Point-Zahl).
MsgBox, % Abs(-1.2) ; Gibt 1.2 zurück
Gibt Zahl zurück, welche auf den nächsten Integer aufgerundet ist (ohne .00-Suffix).
Wert := Ceil(Zahl)
MsgBox, % Ceil(1.2) ; Gibt 2 zurück MsgBox, % Ceil(-1.2) ; Gibt -1 zurück
Gibt e zurück (ungefähr 2.71828182845905), potenziert mit N.
Wert := Exp(N)
Der Parameter N kann negativ sein und einen Dezimalpunkt enthalten. Um neben e noch andere Zahlen zu potenzieren, verwenden Sie den **-Operator.
MsgBox, % Exp(1.2) ; Gibt 3.320117 zurück
Gibt Zahl zurück, welche auf den nächsten Integer abgerundet ist (ohne .00-Suffix).
Wert := Floor(Zahl)
MsgBox, % Floor(1.2) ; Gibt 1 zurück MsgBox, % Floor(-1.2) ; Gibt -2 zurück
Gibt den Logarithmus (Basis 10) von Zahl zurück.
Wert := Log(Zahl)
Das Ergebnis ist eine Floating-Point-Zahl. Wenn Zahl negativ ist, wird eine leere Zeichenkette zurückgegeben.
MsgBox, % Log(1.2) ; Gibt 0.079181 zurück
Gibt den Logarithmus (Basis e) von Zahl zurück.
Wert := Ln(Zahl)
Das Ergebnis ist eine Floating-Point-Zahl. Wenn Zahl negativ ist, wird eine leere Zeichenkette zurückgegeben.
MsgBox, % Ln(1.2) ; Gibt 0.182322 zurück
Gibt den höchsten Wert von einer oder mehreren Zahlen zurück.
Wert := Max(Zahl1 , Zahl2, ...)
Wenn einer der Eingabewerte nicht-numerisch ist, wird eine leere Zeichenkette zurückgegeben.
MsgBox, % Max(2.11, -2, 0) ; Gibt 2.11 zurück
Sie können auch einen variadischen Parameter angeben, um mehrere Werte innerhalb eines Arrays zu vergleichen. Zum Beispiel:
array := [1, 2, 3, 4] MsgBox, % Max(array*) ; Gibt 4 zurück
Gibt den niedrigsten Wert von einer oder mehreren Zahlen zurück.
Wert := Min(Zahl1 , Zahl2, ...)
Wenn einer der Eingabewerte nicht-numerisch ist, wird eine leere Zeichenkette zurückgegeben.
MsgBox, % Min(2.11, -2, 0) ; Gibt -2 zurück
Sie können auch einen variadischen Parameter angeben, um mehrere Werte innerhalb eines Arrays zu vergleichen. Zum Beispiel:
array := [1, 2, 3, 4] MsgBox, % Min(array*) ; Gibt 1 zurück
Modulo. Gibt den Rest zurück, wenn Dividend durch Divisor geteilt wird.
Wert := Mod(Dividend, Divisor)
Das Vorzeichen des Ergebnisses entspricht dem Vorzeichen des ersten Parameters. Wenn einer der beiden Parameter eine Floating-Point-Zahl ist, wird das Ergebnis ebenfalls eine Floating-Point-Zahl sein. Ist der zweite Parameter eine 0, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.
MsgBox, % Mod(7.5, 2) ; Gibt 1.5 zurück (2 x 3 + 1.5)
Gibt Zahl zurück, welche auf N Dezimalstellen gerundet ist.
Wert := Round(Zahl , N)
Wenn N weggelassen wird oder 0 ist, wird Zahl auf den nächsten Integer gerundet:
MsgBox, % Round(3.14) ; Gibt 3 zurück
Ist N eine positive Zahl, wird Zahl auf N Dezimalstellen gerundet:
MsgBox, % Round(3.14, 1) ; Gibt 3.1 zurück
Ist N negativ, wird Zahl auf N Stellen nach links gerundet:
MsgBox, % Round(345, -1) ; Gibt 350 zurück MsgBox, % Round(345, -2) ; Gibt 300 zurück
Im Gegensatz zu Transform Round hat das Ergebnis kein .000-Suffix, wenn N weggelassen wird oder kleiner als 1 ist. [v1.0.44.01+]: Ein Wert in N, der größer als 0 ist, zeigt genau N Dezimalstellen an, anstatt SetFormat zu berücksichtigen. Um das zu verhindern, führen Sie eine weitere mathematische Operation am Rückgabewert von Round() durch; zum Beispiel: Round(3.333, 1)+0
.
Gibt die Quadratwurzel von Zahl zurück.
Wert := Sqrt(Zahl)
Das Ergebnis ist eine Floating-Point-Zahl. Wenn Zahl negativ ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.
MsgBox, % Sqrt(16) ; Gibt 4 zurück
Hinweis: Um einen Bogenmaßwert in Grad umzurechnen, multiplizieren Sie ihn mit 180/pi (ungefähr 57.29578). Um einen Gradwert in Bogenmaß umzurechnen, multiplizieren Sie ihn mit pi/180 (ungefähr 0.01745329252). Der Wert von pi (ungefähr 3.141592653589793) ist das 4-fache von Arkustangens 1.
Gibt den trigonometrischen Sinus von Zahl zurück.
Wert := Sin(Zahl)
Zahl muss als Bogenmaß angegeben werden.
MsgBox, % Sin(1.2) ; Gibt 0.932039 zurück
Gibt den trigonometrischen Kosinus von Zahl zurück.
Wert := Cos(Zahl)
Zahl muss als Bogenmaß angegeben werden.
MsgBox, % Cos(1.2) ; Gibt 0.362358 zurück
Gibt den trigonometrischen Tangens von Zahl zurück.
Wert := Tan(Zahl)
Zahl muss als Bogenmaß angegeben werden.
MsgBox, % Tan(1.2) ; Gibt 2.572152 zurück
Gibt den Arkussinus (die Zahl, deren Sinus Zahl ist) als Bogenmaß zurück.
Wert := ASin(Zahl)
Wenn Zahl kleiner als -1 oder größer als 1 ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.
MsgBox, % ASin(0.2) ; Gibt 0.201358 zurück
Gibt den Arkuskosinus (die Zahl, deren Kosinus Zahl ist) als Bogenmaß zurück.
Wert := ACos(Zahl)
Wenn Zahl kleiner als -1 oder größer als 1 ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.
MsgBox, % ACos(0.2) ; Gibt 1.369438 zurück
Gibt den Arkustangens (die Zahl, deren Tangens Zahl ist) als Bogenmaß zurück.
Wert := ATan(Zahl)
MsgBox, % ATan(1.2) ; Gibt 0.876058 zurück
Ungültige Operationen, wie das Dividieren durch 0, werden in der Regel ein leeres Ergebnis (leere Zeichenkette) erzeugen.
Abs, Max, Min und Mod geben eine leere Zeichenkette zurück, falls einer ihrer eingehenden Parameter nicht-numerisch ist. Da die meisten mathematischen Funktionen keine strikte Typenprüfung durchführen, werden nicht-numerische Werte häufig als Null oder eine andere Nummer behandelt. Zum Beispiel würde Round("1.0foo")
eine 1 zurückgeben. In AutoHotkey v2 soll dieses Verhalten geändert werden.