Maison  >  Article  >  interface Web  >  Une brève introduction à la fonction parseInt dans js

Une brève introduction à la fonction parseInt dans js

怪我咯
怪我咯original
2017-07-04 15:21:112200parcourir

Cet article présente la fonction parseInt dans Js Les amis dans le besoin peuvent se référer à

à partir d'exemples très populaires En parlant de parseInt(. "09")==0.
parseInt(number,type) Si cette fonction n'est pas suivie du deuxième paramètre pour représenter la base, la valeur par défaut est décimale.
Par exemple, parseInt("010",10) est le résultat décimal : 10,
parseInt("010",2) est le résultat binaire : 2,
parseInt("010" ,8) est le résultat octal : 8,
parseInt("010",16) est le résultat binaire : 16.

Permettez-moi d'en parler ci-dessous. Lorsque l'unité de base n'est pas spécifiée, la valeur par défaut est décimale. Cependant : si le nombre à l'intérieur commence par 0, il est considéré comme octal. est considéré comme octal, je pense que c'est hexadécimal.
parseInt("10")==>parseInt("010",10)===>10parseInt("010")==>parseInt("010",8)==>8parseInt( "0x10")==>parseInt("010",16)==>16.

Tout s'est bien passé ici.
Beaucoup de choses ne sont pas aussi fluides que nous le pensions, par exemple, si Le nombre n'est pas nous. Comment expliquez-vous les nombres normaux donnés ? Après avoir vérifié quelques informations, voici ce qu'il dit :
parseInt(Number) Si le nombre au milieu rencontre quelque chose qui n'est pas un nombre (0-9), l'analyse sera interrompue, et seule la valeur qui le précède est aucun nombre ne sera utilisé pour le calcul : comme parseInt ("100x"), qui est équivalent à parseInt("100")===》parseInt("100",10)==>100, et parseInt(" 0100x")===>parseInt("0100 ")===>parseInt("100",8)===>64.
Une chose que nous semblons avoir ignorée ici est qu'il existe un x ​​dans le système hexadécimal. Ce n'est pas un nombre. Même x a été ignoré. Après l'avoir essayé, j'ai découvert que sous ce traitement spécial,
Par exemple, parseInt("0x10")===>parseInt("10",16)===>16 est cohérent avec le meilleur résultat, mais cela est cohérent avec le premier résultat. Ce que je viens de dire, c'est que si les caractères ne sont pas automatiquement analysés, cela doit être compris comme parseInt("0"), ce qui est contraire aux règles.

Vous devez faire attention ici. Le nombre dans parseInt est comme ça Si le premier n'est pas 0 et n'est pas un caractère, il est considéré comme décimal, et il sera exécuté comme d'habitude. s'arrêtera lorsqu'il rencontrera une lettre. Et si le premier est 0, vous devez faire attention au suivant. Si c'est le cas, suivez simplement les règles mentionnées ci-dessus pour arrêter l'analyse lorsque vous rencontrez des non-nombres. Par exemple, parseInt("0xt")==>parseInt("0x")==>parseInt("",16) est NaN.

Pour résumer, la valeur dans parseInt(Number) : Si le premier chiffre n'est pas 0, il arrêtera l'analyse lorsqu'il rencontrera une lettre et analysera la valeur devant la lettre sous forme décimale si le. le premier chiffre est La valeur d'une lettre est vide, et la valeur vide devient NaN,
Par exemple : parseInt("a")==>parseInt("",10)==>NaN.parseInt(" 10a")==>parseInt ("10")==>parseInt("10",10)==>10;
Si le premier chiffre est 0 et que le deuxième chiffre n'est pas x, il sera arrêtez l'analyse lorsqu'il rencontre une lettre comme ci-dessus et analysez la valeur devant la lettre en octal, par exemple : parseInt("0a")==>parseInt("0")==>parseInt("0" ,10)==>0.PS : C'est un peu spécial, car 0a est analysé en 0, et il n'a pas la structure pour être considéré comme un système octal. Le suivant est évident.
parseInt("010a")==>parseInt("010")==>parseInt("10",8)==>8;Si le premier chiffre est 0 et le deuxième chiffre est x Alors , comme ci-dessus, il arrête l'analyse lorsqu'il rencontre des lettres et analyse la valeur devant les lettres au format hexadécimal, par exemple : parseInt("0xt")==>parseInt("",16)==>NaN . parseInt("0x12t")==>parseInt("12",16)==>18.

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!

Déclaration:
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