Stringi teisendamine numbriks JavaScriptis (koos näidetega)

Stringide teisendamine numbriteks

parseInt()Funktsioon korrastab string argument ja tagastab täisarvu määratud radix (baasi matemaatilise number süsteemid).

parseInt(string, radix);

Parameetrid

string

Sõelumiseks vajalik väärtus. Kui stringargument pole string, teisendatakse see stringiks (kasutades ToStringabstraktset toimingut). Juhtivat tühimärki stringi argumendis ignoreeritakse. '= Radix Täisarv 2 ja 36 vahel, mis tähistab ülalnimetatud stringi radiksi (matemaatiliste numbrisüsteemide alus). Täpsustage 10kümnendarvude süsteemi jaoks, mida inimesed tavaliselt kasutavad. Määrake see parameeter alati lugejate segaduste kõrvaldamiseks ja prognoositava käitumise tagamiseks. Erinevad rakendused toovad erinevaid tulemusi, kui radiksit pole määratud, vaikimisi väärtuseks vaikimisi 10. Tagastusväärtus Antud stringist parsitud täisarv. Kui esimest märki ei saa teisendada numbriks, NaNtagastatakse.

Kirjeldus

parseIntTeisendab selle esimene argument string, korrastab seda, ja tagastab täisarv või NaN. Kui ei NaN, siis tagastatakse väärtuseks täisarv, mis on esimene argument, mis arvuna võetakse määratud raadiuses (alus). Näiteks tähistab radiks 10 teisendamist kümnendarvust, kaheksast, 16 kuueteistkümnendkohast jne. Ülaltoodud radikaalide 10puhul tähestiku tähed tähistavad numbreid, mis on suuremad kui 9. Näiteks kasutatakse kuueteistkümnendnumbrite (alus 16) korral Aläbimist F.

Kui parseIntkohtub tähemärgiga, mis pole määratud raadiuses number, ignoreerib see seda ja kõiki järgmisi märke ning tagastab selle punktini parsitud täisarvu. parseIntkärbib numbrid täisarvudeks. Esi- ja järelruumid on lubatud.

Kuna mõned numbrid sisaldavad etähemärki oma stringi esituses (nt 6.022e23), parseIntannab arvväärtuste kärpimiseks kasutamine ootamatuid tulemusi, kui seda kasutatakse väga suurte või väga väikeste numbrite korral. parseIntei tohiks kasutada Math.floor().

Kui radix on undefinedvõi 0 (või puudub), eeldab JavaScript järgmist:

  • Kui sisend stringalgab tähega „0x” või „0X”, on radiks 16 (kuueteistkümnendkoht) ja ülejäänud string sõelutakse.
  • Kui sisend stringalgab tähega “0”, on radiks kaheksa (oktaal) või 10 (kümnendkoht). Täpselt milline radiks on valitud, sõltub rakendusest. ECMAScript 5 täpsustab, et kasutatakse 10 (kümnendkoht), kuid mitte kõik brauserid ei toeta seda veel. Sel põhjusel määrake parseInt kasutamisel alati radiks.
  • Kui sisend stringalgab mõne muu väärtusega, on radiks 10 (kümnendkoht).
  • Kui esimest märki ei saa arvuks teisendada, tagastab parseInt NaN.

Aritmeetika eesmärgil ei ole NaN väärtus üheski radiksis arv. Funktsiooni isNaN abil saate helistada, et teha kindlaks, kas parseInt tulemus on NaN. Kui NaN antakse edasi aritmeetilistele toimingutele, on ka operatsiooni tulemused NaN.

Numbri teisendamiseks kindlas radiksis selle string-liitsõnaks kasutage intValue.toString (radix).

Näited

Kasutades parseIntjärgmisi näiteid kõiki edasi-tagasi 15:

parseInt(' 0xF', 16); parseInt(' F', 16); parseInt('17', 8); parseInt(021, 8); parseInt('015', 10); // parseInt(015, 10); will return 15 parseInt(15.99, 10); parseInt('15,123', 10); parseInt('FXX123', 16); parseInt('1111', 2); parseInt('15 * 3', 10); parseInt('15e2', 10); parseInt('15px', 10); parseInt('12', 13);

Järgmised näited tagastavad kõik NaN:

parseInt('Hello', 8); // Not a number at all parseInt('546', 2); // Digits are not valid for binary representations

Järgmised näited tagastavad kõik -15:

parseInt('-F', 16); parseInt('-0F', 16); parseInt('-0XF', 16); parseInt(-15.1, 10) parseInt(' -17', 8); parseInt(' -15', 10); parseInt('-1111', 2); parseInt('-15e1', 10); parseInt('-12', 13);

Järgmised näited tagastavad kõik 4:

parseInt(4.7, 10); parseInt(4.7 * 1e22, 10); // Very large number becomes 4 parseInt(0.00000000000434, 10); // Very small number becomes 4

Järgmine näide tagastab 224:

parseInt('0e0', 16);

Rohkem informatsiooni:

parseInt MDN-is

  • parseInt () ja parseFloat () püüavad võimaluse korral stringi teisendada numbriks. Näiteks,var x = parseInt("100"); // x = 100
  • Number () teisendab numbriks, millega väärtust saab esitada. See hõlmab kuupäevi millisekundites alates 1. jaanuari 1970 keskpaigast UTC, boolean väärtusi 1 või 0 ja väärtused, mida ei saa teisendada äratuntavaks arvuks, saavad NaN. See tähistab Not a Number ja on ka tehniliselt number!