Functions > VarConv >


Number

Convertit une cha�ne en nombre.

Number ( expression [, flag = 0] )

Param�tres

expression Une expression � convertir en nombre.
flag [optional] D�finit le comportement.
Peut �tre l'un des suivants:
    $NUMBER_AUTO (0) = (par d�faut) le r�sultat est retaill� automatiquement en 'integer'. Voir Remarque.
    $NUMBER_32BIT (1) = le r�sultat est un 'integer' 32bit.
    $NUMBER_64BIT (2) = le r�sultat est un 'integer' 64bit.
    $NUMBER_DOUBLE (3) = le r�sultat est un 'double'.

Les constantes sont d�finies dans "AutoItConstants.au3".

Valeur de retour

Retourne un nombre.

Remarques

Note: Un nombre est consid�r� comme une valeur qui est soit un nombre entier, une valeur � virgule flottante, une valeur en notation scientifique ou hexad�cimale.

Si la cha�ne contient un nombre, le r�sultat sera un nombre.
Si la cha�ne contient une expression (AutoIt ou type de variable) avec un nombre au d�but de l'expression, alors cette valeur sera retourn�e sous forme de nombre, toutes les autres valeurs �tant ignor�es.
Si la cha�ne commence par un nombre mais continue avec des caract�res non num�riques suppl�mentaires, seule la partie nombre est retourn�e sous la forme d'un nombre.
Si le param�tre expression est une expression arithm�tique, l'expression sera �valu�e en premier avant de retourner le r�sultat sous forme de nombre.
Si la notation est hexad�cimale, mais les valeurs pass�es 0x ne sont pas hexad�cimale (0-9, A-F), alors 0 est retourn�.
Si le signe plus/moins est utilis� par ex. +30 ou -30, alors le retour sera des nombres positifs ou n�gatifs.
Dans tous les autres cas, 0 est retourn�.

Dans les cas ci-dessus, la fonction retourne un entier si la mantisse du r�sultat est z�ro ou si le flag est $NUMBER_32BIT ou $NUMBER_64BIT. Ces flags tronqueront un r�sultat � virgule flottante.

Par d�faut, un r�sultat entier est stock� en 32 bits si possible. Sinon, il est stock� en 64 bits.

En relation

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

Exemple

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

Local $bNumber1 = Number(1 + 2 + 10) ; Retourne 13.
Local $bNumber2 = Number("3.14") ; Retourne 3.14.
Local $bNumber3 = Number("24/7") ; Retourne 24.
Local $bNumber4 = Number("tmp3") ; Retourne 0 car c'est une cha�ne.
Local $bNumber5 = Number("1,000,000") ; Retourne 1 car il supprime tout ce qui suit apr�s la premi�re virgule (le s�parateur d�cimal est le point!).
Local $dNumber6 = Number("24autoit") ; Returns 24
Local $dNumber7 = Number("1.2e3sa") ; Returns 1200
Local $dNumber8 = Number("0xcade") ; Returns 51934
Local $dNumber9 = Number(Ptr(5)) ; Returns 5
Local $dNumber10 = Number(Binary("abc")) ; Returns decimal value of 0x616263 = 6513249
Local $dNumber11 = Number(ObjCreate("Scripting.Dictionary")) ; Returns 0
Local $dNumber12 = Number(1 > 3 Or 5 <= 15) ; Returns 1
Local $dNumber13 = Number("-30") ; Returns 30

MsgBox($MB_SYSTEMMODAL, "", "Les valeurs suivantes ont �t� converties en valeurs num�riques:" & @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)