Parseint () - javascript, mdn

Funcția parseInt () ia un șir ca argument și returnează un număr întreg în funcție de baza specificată a sistemului numeric.

șir Valoarea de interpretat. Dacă valoarea parametrului șir nu aparține unui tip de șir, este convertită la acesta (folosind operația abstractă ToString). Spațiile de la începutul liniei nu sunt luate în calcul. radix Un număr între 2 și 36, care este baza șirului de numere al sistemului. descrise mai sus. Practic, utilizatorii folosesc un sistem cu numere zecimale și specifică 10. Specificați întotdeauna acest parametru pentru a exclude erorile de citire și pentru a asigura executarea corectă și predictibilitatea rezultatului. Atunci când baza sistemului de numere nu este specificată, diferite implementări pot întoarce rezultate diferite.







Valoarea returnată

Un întreg obținut prin parsarea (parsarea și interpretarea) șirului dat. Dacă primul caracter nu a putut fi convertit la un număr, atunci NaN este returnat.

Funcția parseInt convertește primul argument care îi este transmis într-un tip de șir, îl interpretează și returnează un întreg sau o valoare a lui NaN. Rezultatul (dacă nu NaN) este un număr întreg și reprezintă primul argument (șir), tratat ca număr în radix specificat. De exemplu, baza 10 indică conversia de la zecimal, 8 la octal, 16 la hexazecimal și așa mai departe. Dacă baza este mai mare de 10, atunci se vor utiliza numere mai mari de 9 litere. De exemplu, numerele hexazecimale (baza 16) folosesc literele A până la F.

În cazul în care funcția parseInt se confruntă cu un caracter nu un număr în radix specificat, se sare peste acest lucru și toate caracterele ulterioare (chiar dacă se aplică) și returnează un număr întreg, convertit dintr-o parte a liniei care a precedat acest simbol. parseInt taie partea fracționată a numărului. Spațiile de la începutul și sfârșitul liniei sunt permise.

Deoarece unele numere includ caracterul e în reprezentarea șirului lor (de exemplu, 6,022e23), folosind parseInt pentru a trunchia valorile numerice poate da rezultate neașteptate atunci când se utilizează cantități foarte mici sau foarte mari. parseInt nu ar trebui să fie folosit ca înlocuitor pentru Math.floor ().







  • Dacă valoarea șirului de parametru de intrare începe cu "0x" sau "0X", baza sistemului numeric este 16, iar restul liniei este interpretat.
  • Dacă valoarea șirului parametrului de intrare începe cu "0", baza sistemului de numere este de 8 sau 10, în funcție de implementarea specifică. Specificația ECMAScript 5 specifică utilizarea a 10 (sistem zecimal), dar acest lucru nu este acceptat de toate browserele, deci trebuie să specificați întotdeauna baza sistemului numeric atunci când utilizați funcțiaparseInt.
  • Dacă valoarea șirului de parametru de intrare începe cu orice alt caracter, sistemul numeric este zecimal (baza 10).

Dacă primul caracter al șirului nu poate fi convertit la un număr, parseInt returnează valoarea lui NaN.

În ceea ce privește matematica, valoarea NaN nu este un număr în niciun sistem numeric. Pentru a determina dacă parseInt returnează o valoare NaN ca rezultat, puteți apela funcția isNaN. Dacă NaN participă la operații aritmetice, rezultatul va fi și NaN.

Pentru a converti un număr la un șir în sistemul de numere specificat, utilizați intValue.toString (radix).

Exemplu: Utilizarea parseIntului

Toate exemplele de mai jos redau 15:

Toate exemplele următoare revin NaN:

Toate exemplele de mai jos se întorc la -15:

Toate exemplele de mai jos returnează 4:

Următorul exemplu returnează 224:

Interpretarea octală fără indicarea sistemului numeric

Deși acest lucru nu este încurajat în specificația ECMAScript 3 și este interzis în ECMAScript 5, multe implementări interpretează un șir numeric care începe cu 0. ca octal. Următorul exemplu poate avea atât un rezultat octal, cât și un rezultat zecimal. Pentru a evita un rezultat neașteptat, indicați întotdeauna baza sistemului numeric.

ECMAScript 5 elimină interpretarea octuală

Specificația ECMAScript 5 a funcției parseInt nu mai permite tratarea șirurilor care încep cu 0. Notă octal ECMAScript 5 declară:

Funcția parseInt produce o valoare întregă ca rezultat al interpretării conținutului argumentului șir în funcție de baza specificată a sistemului numeric. Spațiul de la începutul liniei nu este luat în calcul. Dacă baza numărului de sistem nu este definită sau egală cu 0. aceasta este considerată egală cu 10. cu excepția cazului în care linia începe cu perechi de caractere 0x sau 0X. atunci baza se presupune a fi 16. Dacă baza numărului de sistem este 16. numărul poate începe, de asemenea, cu perechi de caractere 0x sau 0X.

În acest caz, ECMAScript 5 este în contradicție cu specificația ECMAScript 3, în care interpretarea octalică nu a fost încurajată, dar nici nu a fost interzisă.

O funcție de interpretare mai riguroasă

Uneori este nevoie de un mod mai riguros de interpretare a valorilor întregi. Expresiile regulate pot ajuta la:

specificație







Articole similare

Trimiteți-le prietenilor: