Funktionen zum Durchführen diverser mathematischer Operationen wie Runden, Potenzieren, Quadrieren, etc.
Gibt den absoluten Wert einer bestimmten 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 eine bestimmte Zahl zurück, aufgerundet auf den nächsten Integer (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 eine bestimmte Zahl zurück, abgerundet auf den nächsten Integer (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) einer bestimmten 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) einer bestimmten 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 aus einer Division zweier Zahlen zurück.
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 eine bestimmte Zahl zurück, gerundet auf N Dezimalstellen.
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 einer bestimmten 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 einer bestimmten 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 einer bestimmten 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 einer bestimmten 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 die angegebene 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 die angegebene 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 die angegebene 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.