Maison > interface Web > js tutoriel > le corps du texte

Comment forcer la conversion de valeurs numériques en javascript ? (Résumé de la méthode)

不言
Libérer: 2018-09-20 17:45:47
original
3122 Les gens l'ont consulté

Le contenu de cet article explique comment forcer la conversion des valeurs en javascript ? (Résumé de la méthode) a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère que cela vous sera utile.

Les types de données Javascript sont divisés en types de données de base et types de données de référence

Données de base : nombre, booléen, non défini, nul, chaîne ;

Données de référence : objet ;

Quand 0.000...01, lorsque le point décimal est supérieur ou égal à 7 chiffres, il sera automatiquement converti en notation scientifique

Quand 20000...00, lorsque la partie entière est supérieur ou égal à 22 chiffres, il sera automatiquement converti en notation scientifique.

Numéro(x) : un paramètre

  • Lorsque le paramètre est de type Nombre : il peut être affiché correctement ;

console.log(Number(1));        //1
console.log(Number(1e-7));    //1e-7
console.log(Number(0b111));  //7
console.log(Number(NaN));   //NaN
Copier après la connexion
  • Lorsque le paramètre est de type booléen : true->1;fasle->0;

console.log(Number(true));  //1
console.log(Number(false)); //0
Copier après la connexion
  • Lorsque le paramètre est indéfini : Sa valeur est NaN

console.log(Number(undefined)); //NaN
Copier après la connexion
  • Lorsque le paramètre est nul :

console.log(Number(null));    //0
Copier après la connexion
  • Lorsque le paramètre est de type String :

//数字字符串
console.log(Number("123"));   //123
console.log(Number("-123"));  //-123
console.log(Number("12.3"));  //12.3
console.log(Number("1e-7"));  //1e-7
console.log(Number("0xff"));  //255
console.log(Number("00123")); //123    
console.log(Number("   123")); //123
console.log(Number("\t\n123")); //123
Copier après la connexion
//数字+字符或全字符字符串
console.log(Number('a123'));  //NaN
console.log(Number("false")); //NaN
console.log(Number("a123"));  //NaN
Copier après la connexion
//空串或者空格字符串
console.log(Number("\t\n"));   //0
console.log(Number("  "));     //0
console.log(Number(""));       //0
Copier après la connexion
  • Lorsque le type de paramètre est objet : effectuer .valueOf() d'abord, si vous obtenez L'objet exécute ensuite toString() jusqu'à ce que le type de données de base soit obtenu, par exemple {}.valueOf().toString() = "[object Object]" Le résultat final de number est NaN

console.log(Number({}));  //NaN
console.log(Number([1])); //1
console.log(Number([1,2]));  //NaN
cosole.log(Number([]));    //0
Copier après la connexion

parseInt(x,y) : 2 paramètres,

Le processus est le suivant : convertissez d'abord String(x) en chaîne, puis convertissez la valeur en un nombre décimal en utilisant la base y comme base, s'il n'est pas renseigné, c'est 10, la plage de y : [2,36]

Quand il n'y a pas de paramètre y :

  • Lorsque le paramètre x est un nombre : cela vaut-il la peine de le noter ? C'est une valeur de type 0,001, 1e-7. La valeur après la virgule décimale (e) sera ignorée et la valeur précédente sera renvoyée. .

console.log(parseInt(123));   //123
console.log(parseInt(1e-7));  //1
console.log(parseInt(0xff));  //255
console.log(parseInt(NaN));   //NaN
console.log(parseInt(0.00001)); //0
Copier après la connexion
  • Lorsque le paramètre x est booléen, indéfini, nul :

console.log(parseInt(true));  //NaN
console.log(parseInt(false)); //NaN
console.log(parseInt(undefined)); //NaN
console.log(parseInt(null));    //NaN
Copier après la connexion
console.log(parseInt(""));   //NaN
console.log(parseInt("-123"));  //-123
console.log(parseInt("  "));  //NaN
console.log(parseInt("\t\n"));   //NaN
console.log(parseInt("a123")); //NaN
console.log(parseInt("123a")); //123
Copier après la connexion
  • Avec les paramètres x, y, lorsque y est 0, nul, non défini, NaN, y sera ignoré et par défaut à 10. Lorsqu'il dépasse la plage de [2, 36], NaN sera renvoyé Lorsque la valeur x peut être représentée par y base Renvoie NaN, et le reste peut en représenter autant que

console.log(parseInt({1:2}));   //"[object Object]"->NaN
console.log(parseInt([]));      //""->NaN
console.log(parseInt([1,2]));   //"1,2"->//1
Copier après la connexion
parseFloat(x) : un paramètre qui peut représenter correctement le flottant. les nombres de points et la notation scientifique, mais ne prend pas en charge les chaînes. Le nombre ne peut pas être représenté correctement, le reste est le même que parseInt(x,10)
  • String(), .toString()

Premier : non défini, null aucun L'attribut toString() ne peut transmettre que String(undefiend)
console.log(parseInt("f",2));   //NaN
console.log(parseInt("11f",2);  //3
console.log(parseInt("123",37)); //NaN
console.log(parseInt("0xff",0));  //255
console.log(parseInt("0xff",NaN)); //255
console.log(parseInt("ff",[]));  //NaN
Copier après la connexion

console.log(parseFloat(0xff));  //255
console.log(parseFloat("0xff"));  //0  
console.log(parseInt("0xff"));   //255  个人猜测parseInt(x,y)有y的存在所以能正确输出
console.log(parseFloat(1e22));   //1e22
console.log(parseFloat(1e-7));   //1e-7
console.log(parseFloat("00123"));  //123
console.log(parseFloat(" "));     //NaN
Copier après la connexion
Deuxième : y.toString(x), qui signifie convertir la valeur cible y en une valeur basée sur x

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal