Funktionreferenz


Number

Beschreibung anzeigen in

Gibt die numerische Entsprechung eines Ausdruckes zurück.

Number ( expression [, flag = 0] )

Parameter

expression Der Ausdruck, der in eine Zahl umgewandelt werden soll.
flag [optional] Definiert das Verhalten.
Kann einer der folgenden Werte sein:
    $NUMBER_AUTO (0) = (Standard) Das Ergebnis ist ein automatisch angepasster Integer. Siehe Bemerkungen.
    $NUMBER_32BIT (1) = Das Ergebnis ist ein 32bit-Integer.
    $NUMBER_64BIT (2) = Das Ergebnis ist ein 64bit-Integer.
    $NUMBER_DOUBLE (3) = Das Ergebnis ist double.

Die Konstanten sind in "AutoItConstants.au3" definiert.

Rückgabewert

Gibt eine Zahl zurück.

Bemerkungen

Hinweis: Eine Zahl berücksichtigt einen Wert, der entweder eine ganze Zahl, einen Gleitkommawert, eine wissenschaftliche oder eine hexadezimale Schreibweise ist.

Wenn der String eine Zahl enthält, wird das Ergebnis eine Zahl sein.
Wenn der String einen Ausdruck (AutoIt oder Variablentyp) mit einer Zahl am Anfang des Ausdrucks enthält, wird dieser Wert als Zahl zurückgegeben, und alle anderen Werte werden ignoriert.
Wenn der String mit einer Zahl beginnt, aber mit zusätzlichen Nicht-Nummernzeichen fortfährt, wird der Zahlenteil nur als Zahl zurückgegeben.
Wenn der Ausdrucksparameter ein arithmetischer Ausdruck ist, wird der Ausdruck zuerst ausgewertet, bevor das Ergebnis als Zahl zurückgegeben wird.
Wenn hexadezimale Schreibweise, aber Werte, die 0x übergeben werden, nicht hexadeciam (0-9, A-F) sind, wird 0 zurückgegeben.
Wenn unäres Plus / Minus verwendet wird, z. +30 oder -30, dann wird dies als positives und negatives Gegenstück zurückgegeben.
In allen anderen Fällen wird 0 zurückgegeben.

In den obigen Fällen gibt die Funktion eine Ganzzahl zurück, wenn die Mantisse (Ziffernstellen einer Gleitkommazahl vor der Potenz) des Ergebnisses Null ist oder das Flag $NUMBER_32BIT oder $NUMBER_64BIT ist. Diese Flags kürzen ein Gleitkommaergebnis.

Der Standardwert für ein Integer-Ergebnis ist, wenn möglich, in 32 Bits zu speichern. Wenn nicht, wird es in 64 Bits gespeichert. Wenn nicht, wird in einer Gleitkommazahl gespeichert.

Verwandte Funktionen

Binary, Ceiling, Floor, HWnd, Int, Ptr, Round, String

Beispiel

#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>

Local $dNumber1 = Number(1 + 2 + 10) ; Gibt 13 zurück
Local $dNumber2 = Number("3.14") ; Gibt 3.14 zurück
Local $dNumber3 = Number("24/7") ; Gibt 24 zurück
Local $dNumber4 = Number("tmp3") ; Gibt 0 zurück
Local $dNumber5 = Number("1,000,000") ; Gibt 1 zurück, da alles inklusive und nach dem ersten Komma abgeschnitten wird.
Local $dNumber6 = Number("24autoit") ; Gibt 24 zurück
Local $dNumber7 = Number("1.2e3sa") ; Gibt 1200 zurück
Local $dNumber8 = Number("0xcade") ; Gibt 51934 zurück
Local $dNumber9 = Number(Ptr(5)) ; Gibt 5 zurück
Local $dNumber10 = Number(Binary("abc")) ; Gibt den Dezimalwert von 0x616263 zurück = 6513249
Local $dNumber11 = Number(ObjCreate("Scripting.Dictionary")) ; Gibt 0 zurück
Local $dNumber12 = Number(1 > 3 Or 5 <= 15) ; Gibt 1 zurück
Local $dNumber13 = Number("-30") ; Gibt 30 zurück

MsgBox($MB_SYSTEMMODAL, "", "Die folgenden Werte wurden in numerische Werte umgewandelt:" & @CRLF & _
        "$dNumber1 = " & $dNumber1 & @CRLF & _
        "$dNumber2 = " & $dNumber2 & @CRLF & _
        "$dNumber3 = " & $dNumber3 & @CRLF & _
        "$dNumber4 = " & $dNumber4 & @CRLF & _
        "$dNumber5 = " & $dNumber5 & @CRLF & _
        "$dNumber6 = " & $dNumber6 & @CRLF & _
        "$dNumber7 = " & $dNumber7 & @CRLF & _
        "$dNumber8 = " & $dNumber8 & @CRLF & _
        "$dNumber9 = " & $dNumber9 & @CRLF & _
        "$dNumber10 = " & $dNumber10 & @CRLF & _
        "$dNumber11 = " & $dNumber11 & @CRLF & _
        "$dNumber12 = " & $dNumber12 & @CRLF & _
        "$dNumber13 = " & $dNumber13 & @CRLF)