- Propriétés de l'objet Number
- MAX_VALUE
- MIN_VALUE
- NaN
- NEGATIVE_INFINITY
- POSITIVE_INFINITY
- Méthodes de l'objet Number
Dans JavaScript, les nombres sont eux aussi des objets. Il s'agit de l'objet Number.
Comme pour String, il y a deux façons de créer un objet Number. Soit en utilisant
le constructeur Number (new Number()), ou bien implicitement :
var Nombre = new Number(25);
document.write(typeof Nombre);// Sortie -> object
ou bien :
var Nombre = 25;
document.write(typeof Nombre);// Sortie -> number
Même remarque que pour String : l'opérateur typeof ne renvoi pas la même chose, et
cependant, ces deux choses sont identiques.
La première syntaxe qui utilise le constructeur Number peut s'averer interessante en cas de conversion
du type String au type Number.
En effet ajouter 10 à la chaîne de caractères 11 ne donnera pas 21 mais
1011 comme le montre l'exemple suivant :
var MaVariable = "11";
MaVariable += 10;
document.writeln("<pre>");
document.writeln(MaVariable);// Sortie -> 1110
document.writeln(typeof MaVariable);// Sortie -> string
document.writeln("</pre>");
Une concatenation est effectuée. Il faut alors utiliser le constructeur Number pour réaliser une
conversion :
var MaVariable = "11";
MaVariable = (new Number(MaVariable)) + 10;// Conversion
document.writeln("<pre>");
document.writeln(MaVariable);// Sortie -> 21
document.writeln(typeof MaVariable);// Sortie -> number
document.writeln("</pre>");
Il est aussi possible d'effectuer une conversion en utilisant parseInt ou parseFloat. Ces deux méthodes appartiennent à l'objet
window (que nous détaillerons plus loin).
parseInt convertit son argument en nombre entier et parseFloat en nombre à virgule flotante :
var Nombre = "3.1415";// Un nombre dans une chaine
document.writeln("<pre>");
document.writeln(parseInt(Nombre));// Sortie -> 3
document.writeln(parseFloat(Nombre));// Sortie -> 3.1415
document.writeln(typeof parseFloat(Nombre));// Sortie -> number
document.writeln("</pre>");
On peut egalement determiner si une variable est un nombre ou non en utilisant la méthode isNaN de l'objet window. isNaN
signifie is Not a Number. Autrement dit, si l'argument transmis n'est pas un nombre, isNaN renvoi true :
var Chaine = new String("Hello");
document.write(isNaN(Chaine));// Sortie -> true
Propriétés de l'objet Number
- MAX_VALUE
- Renvoi la plus grande valeur utilisable :
document.write(Number.MAX_VALUE);// Sortie - > 1.7976931348623157e+308
- MIN_VALUE
- Renvoi la plus petite valeur utilisable :
document.write(Number.MIN_VALUE);// Sortie -> 5e-324
- NaN
- Renvoi la chaîne de caractères
NaN qui signigie Not a Number (il arrive que je me repete :-D). Une
valeur NaN peut par exemple être provoquée par une division telle que celle ci :
document.writeln("<pre>");
document.writeln(0 / 0);// Sortie -> NaN
document.writeln(Number.NaN);// Sortie -> NaN
document.writeln("<./pre>");
- NEGATIVE_INFINITY
- Renvoi la chaîne de caractères
-Infinity, qui peut être le résultat d'une division telle que celle ci :
document.writeln("<pre>");
document.writeln(-1 / 0);// Sortie -> -Infinity
document.writeln(Number.NEGATIVE_INFINITY);// Sortie -> -Infinity
document.writeln("</pre>");
- POSITIVE_INFINITY
- Renvoi la chaîne de caractères
Infinity, qui peut être le résultat d'une division telle que celle ci :
document.writeln("<pre>");
document.writeln(1 / 0);// Sortie -> Infinity
document.writeln(Number.POSITIVE_INFINITY);// Sortie -> Infinity
document.writeln("</pre>");
Méthodes de l'objet Number
L'objet Number ne possede qu'une seule méthode : toString().
toString convertit le nombre en objet de type String. Mais ce n'est pas tout : si un argument est transmis, le nombre
est convertit dans la base représenté par cette argument.
Exemple :
var Nombre = 255;
document.writeln("<pre>");
document.writeln(Nombre + " en binaire : " + Nombre.toString(2));
document.writeln(Nombre + " en octal : " + Nombre.toString(8));
document.writeln(Nombre + " en hexadecimal : " + Nombre.toString(16));
document.writeln("</pre>");
Il est à noter que JavaScript distingue 3 bases : décimal (base 10), octal (base 8) et hexadécimal (base 16).
Pour exprimer une valeur octale, il faut faire préceder le nombre de 0 (zéro). Pour les valeurs hexadécimales, de 0x ou 0X
(zéro x) :
var Decimal = 10;
var Octal = 012;
var Hexadecimal = 0xA;
document.writeln("<pre>");
document.writeln(Decimal);// Sortie -> 10
document.writeln(Octal);// Sortie -> 10
document.writeln(Hexadecimal);// Sortie -> 10
document.writeln("</pre>");
|