Maison >interface Web >js tutoriel >Résumé de trois méthodes de conversion numérique JavaScript_javascript skills
En JavaScript, il existe généralement trois manières de convertir des valeurs :
1. Fonction numérique (param) : param peut être utilisé pour n'importe quel type de données
Le paramètre 1.1 est une valeur booléenne, vrai et faux sont convertis respectivement en 1 et 0
;Le paramètre 1.2 est une valeur numérique, il est simplement transmis et renvoyé
Le paramètre 1.3 est nul et indéfini, renvoyant respectivement 0 et NaN
1.4 param est une chaîne et suit les règles suivantes :
1.4.1 Si la chaîne ne contient que des nombres, elle est convertie en décimal et le 0 initial est ignoré
;1.4.2 Si la chaîne contient un format de nombre à virgule flottante valide, la valeur à virgule flottante correspondante est renvoyée et le 0 initial est ignoré
;1.4.3 Si la chaîne contient un hexadécimal valide, renvoie la valeur décimale équivalente
1.4.4 Si la chaîne est vide, renvoie 0
1.4.5 Si la chaîne contient des caractères autres que le format ci-dessus, NaN est renvoyé
1.5 Si param est un objet, appelez la méthode valueOf(), convertissez et renvoyez une valeur de chaîne selon les règles précédentes. Si NaN est renvoyé, appelez la méthode toString(), convertissez et renvoyez une valeur de chaîne selon les règles précédentes. à nouveau les règles précédentes.
1.6 Exemple :
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = Number("hello"); //NaN var num2 = Number(""); //0 var num3 = Number("00022"); //22 var num4 = Number(true); //1</span>
2. parseInt(param) : Convertit une chaîne en entier, param est un type chaîne.
parseInt() ignore les espaces devant la chaîne jusqu'à ce qu'il trouve le premier caractère non-espace S ; si S n'est pas un nombre ou un signe négatif, il renvoie NaN (c'est-à-dire que parseInt() renvoie NaN pour les caractères vides . Notez que Number() Empty renvoie 0), si S est un nombre, parseInt() continuera à analyser le caractère suivant jusqu'à ce que tous les caractères soient analysés ou qu'un caractère non numérique soit rencontré. parseInt() prend en charge l'analyse octale et hexadécimale
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseInt("1234blue"); //1234 var num2 = parseInt(""); //NaN var num3 = parseInt("22.5"); //22 var num4 = parseInt("070"); //八进制,转换为十进制的56</span>
3. parseIFloat(param) : Convertir une chaîne en nombre à virgule flottante param est un type de chaîne.
Semblable à parseInt, parseFloat() commence l'analyse à partir du premier caractère jusqu'à ce que tous les caractères soient analysés ou qu'un caractère à virgule non flottante soit rencontré. Le premier point décimal est valide, mais le second ne l'est pas, et la fonction ne peut analyser que les nombres décimaux car elle ignore toujours les 0 non significatifs.
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseFloat("1234blue"); // 1234 var num2 = parseFloat("0xf6"); // 0 var num3 = parseFloat("22.5"); // 22.5 var num4 = parseFloat("22.5.4"); //22.5 var num5 = parseFloat("3.125e7"); // 31250000</span>