JavaScript konversioon number stringis. JavaScript: andmete tüüp konversioon

JavaScript on INEPIEST keel (täpsemalt, mis on nõrgalt kirjutatud või dünaamiliselt kirjutatud). See tähendab, et me ei tohiks seda deklareerimisel täpsustada muutuja tüüpi. Isepsposis annab JavaScripti paindlikkust ja lihtsust, eelistatuna skriptimiskeelele (kuigi need funktsioonid saavad ranguse puudumise hinna, mis on oluline pikkade ja keerukamate programmide jaoks, mis on sageli kirjutatud rangemates keeltes, näiteks C või Java). Paindliku töö oluline omadus JavaScripti andmeliikidega on tõlgi poolt läbi viidud automaatsed andmete ümberkujundamine. Näiteks kui Document.Write () meetod edastatakse, teisendab JavaScript automaatselt samaväärse stringi esinduse. Samamoodi kontrollida stringiväärtuse innucing seisukorras, JavaScript automaatselt teisendab selle stringi loogiline väärtus - False, kui string on tühi ja tõsi teisiti.

Peamine reegel on see, et kui ühe tüübi väärtus tekib kontekstis, siis kus mõne muu tüübi väärtus on vajalik, püüab JavaScript automaatselt väärtuse teisendada soovitud viisil. Seega, näiteks kontekstis, mis eeldab loogilise muutuja, konverteeritakse number loogiliseks väärtuseks.

Stringi kontekstis objekt konverteeritakse stringiks. Paigaldamine JavaScripti numbrilises kontekstis püüab arvutada numbrit.

Konversioon "Elementary tüüp objekt"
Näiteks loogilises kontekstis konverteeritakse kõik allpool olevad objektid tõeks:

Uus Boolean (False) // Sisemine väärtus on vale, kuid objekt
// konverteeritud tõsi
Uus number (0)
Uus string (")
Uus massiivi ()

Selle objektide ümberkujundamine numbri algab selle objekti väärtuse () meetodi kõnega. Enamik objekte pärida standardmeetod Väärtus () klassi objekt, mis lihtsalt tagastab objekti ise. Kuna standardne väärtus () meetod ei tagasta elementaarset väärtust, siis püüab JavaScript teisendada objekti numbrile, helistades selle tostri () meetodile ja sellest tuleneva stringi muutmiseks. Sest massiivid, see toob kaasa huvitavaid tulemusi. Tuletame meelde, et tostrimine () meetod teisendab massiivi elemendid stringile ja seejärel tagastab nende ridade kokkupuute tulemuse nende vahelise komadega. Järelikult muundatakse massiiv ilma elementideta tühjaks stringiks, mis muundatakse 0-ni! Lisaks sellele, kui massiiv koosneb ühest elemendist, konverteeritakse massiivi selle numbri stringiks, mis seejärel konverteeritakse seejärel numbrile N.

Kui massiiv sisaldab rohkem kui ühte elementi või kui selle ühe element ei ole number, konverteeritakse massiiv NAN-i. JavaScriptis ei ole kontekst alati üheselt määratud! Operaator + ja võrdlusoperaatorid (ja\u003e \u003d) töötavad nii numbrite kui ka stringidega, nii et kui objekti kasutatakse ühe nende operaatoritega, on ebaselge see, mida tuleb ümber kujundada numbrile või stringile. Enamikul juhtudel püüab JavaScript kõigepealt objekti teisendada, helistades väärtuse () meetodile. Kui see meetod tagastab elementaarne väärtus (tavaliselt number), kasutatakse seda väärtust. Sageli tagastab sageli väärtuse () lihtsalt objekti ilma konversioonita; Sellisel juhul püüab JavaScript teisendada objekti stringile, kasutades Tostry () meetodi kõne. Sellesse konversiooni reegel on ainult üks erand: kui kuupäeva objekti kasutatakse koos + operaatoriga, teostatakse konversioon tostri () meetodi abil. Käesoleva erandi olemasolu on tingitud asjaolust, et kuupäev on nii tostri () meetod kui ka väärtus () meetod. Kui kasutate kuupäeva operaatori + peaaegu alati vaja string conctanation. Aga kui kuupäev on seotud võrdlustoimingutega, on peaaegu alati vaja teha arvulise võrdluse, et teha kindlaks, millise aja kahe punkti eelnes teise.

Enamik objekte või ei ole väärtuse meetodit () või see meetod ei tagasta kasulikke tulemusi.

Kui operaator + kasutatakse objektile, toimub stringide contatenation tavaliselt ja mitte lisaks. Kui võrdlusoperaatorit rakendatakse objektile, siis tavaliselt teostatakse stringi võrdlus, mitte numbriline.

Objekti määratlemine erimeetod Väärtus () võib käituda erinevalt. Määratledes väärtuse () meetodi, numbri tagastamine, saate rakendada aritmeetilisi ja muid avaldusi oma objektile, kuid objekti lisamine ei ole oodatud: tostri () meetodit ei kutsuta enam ja stringi esindatus Meetodi poolt tagastatud number on kaasatud conctanation väärtuse ().

Lõpuks pidage meeles, et Valueof () meetodit ei nimetata tonimarv () rangelt öeldes on selle ülesanne teisendada objekti sisukaks elementaarseks väärtuseks, nii et mõnedel objektidel võivad olla väärtused () meetodeid, mis tagastavad ridu.

Selgesõnaline ümberkujundamise tüüp
Java-Script ei määratle ümberkujundamisoperaatorit nagu C, C ++ ja Java keeltes, kuid pakub sarnaseid vahendeid. JavaScript 1.1 (ja ECMA-262) number (), Boole'i \u200b\u200b(), stringi () ja objekti () võib nimetada mitte ainult disaineritena, vaid ka funktsioonidena. Sel viisil põhjustatud nende funktsioonide tekitamine üritavad omandada oma
Argumendid asjakohases tüübis. Näiteks saate teisendada mis tahes X väärtuse stringile, kasutades stringi (x) ja mis tahes väärtust objektile, kasutades objekti (y).

On mitmeid rohkem tehnikaid, mis võivad olla kasulikud selgesõnaliste tüüpide tegemiseks. Selleks, et teisendada väärtuse stringiks, tehke see tühja stringiga kokkupuutumine:

Var x_as_string \u003d x + "";

Et teisendada väärtuse numbrile, maha arvata sellest null:

Var x_as_number \u003d x - 0;

On võimalik muuta mis tahes väärtust loogilisele väärtusele, kasutades kaks korda!

Var x_as_boolane \u003d !! x;

JavaScripti tendentsi tõttu automaatselt andmete teisendamiseks vajalik sel hetkel Tüüp, selgesõnalised konversioonid ei ole tavaliselt vajalikud. Vahel on nad siiski kasulikud ja neid saab rakendada, et muuta programm selgemaks ja täpsemaks.

Numbrite ümberkujundamine stringis
Numbrite ümberkujundamine stringis viiakse läbi JavaScript, võib-olla sagedamini kui teised. Kuigi see juhtub tavaliselt automaatselt, on mitmeid kasulikke viise sellise selgesõnaliselt muutmiseks. Kaks oleme juba näinud:

Var string_value \u003d string (number); // Kasutades string disainer ()
// funktsioonina
Var string_value \u003d number + ""; // Tühja stringiga kokkupuutumine

Teine võimalus pakub tostringi meetodit ():

String_value \u003d number.Tostring ();

TOSTRING () Numbri objekti (elementaarse numbrilised väärtused konverteeritakse numbri objektiks, nii et saate seda meetodit nimetada) aktsepteerib valikulist argumenti, mis määrab numbri süsteemi aluse, millele konversioon viiakse läbi. Kui argumenti ei ole täpsustatud, teostab ümberkujundamine baasil 10. Aga saate teisendada numbreid teiste alustega (vahemikus 2 kuni 36). Näiteks:

Var n \u003d 17;
binaarne_string \u003d n.tostring (2); // võrdselt "10001"
Oktaal_string \u003d "0" + n.tostring (8); // võrdselt "021"
hex_string \u003d "0x" + n.tostring (16); // võrdselt "0x11"

JavaScripti versioonide puudumine versioonile 1.5 koosneb puudumisel standardmoodLubades teil määrata arvu kümnendmärkide arvu, mis tuleneb numbri ümberkujundamisest või nõuavad eksponentsiaalse märge kasutamist. See võib raskendada traditsiooniliste formaatide numbrite kuvamist, näiteks raha väärtusi.

ECMACRE V3 ja JavaScript 1.5 Selle takistuse möödavoolu möödudes lisades numbri klassile kolme uue konversioonimeetodi. Tofixed () meetod teisendab numbri stringile ja kuvab määratud arvu numbrite arvu pärast kümnendpunkti ilma eksponentsiaalse märke kasutamata. Mõlemat mõju () meetod teisendab numbri stringile, salvestades selle eksponentsiaalse märge ühe numbriga enne kümnendpunkti ja määratud arvu numbrite arvu pärast seda. TOPRECISION () Meetod kuvab numbri, kasutades määratud arvu olulisi numbreid. Kui selline palju olulisi numbreid ei piisa kogu numbri osa väljastamiseks, registreeritakse see eksponentsiaalse märge. Pange tähele, et kõik kolm meetodit ümardasid saadud ridade arvud õigesti. Vaata järgmisi näiteid:

Var n \u003d 123456,789;
n.tofixed (0); // 123457 "
n.tofixed (2); // 123456.79 "
N.ToxponSe (1); // "1.2e + 5"
N.ToxponSe (3); // "1.235E + 5"
N.toprecision (4); // "1.235E + 5"
N.toprecision (7); // 123456.8 "

Rida konverteerimine numbritega
Oleme näinud, et numbrite arvu numbrilises kontekstis muutuvad numbrid automaatselt reaalarvudeks. Nagu eespool näidatud, võib seda konversiooni selgesõnaliselt:

VAR number \u003d number (string_value);
Var number \u003d string_value - 0;

Selline ümberkujundamine on ebamugav selle ülemäärase ranguse tõttu. See toimib ainult koos kümnendnumbridJa kuigi konversioon võimaldab juhtivaid ja sulgemisruumi, ei võimalda see pärast joone numbrit mitte-märgistatud tähemärki. Paindlikumate transformatsioonide jaoks saate kasutada Parseint () ja Parsefloat () funktsioone. Need funktsioonid transformeeritakse ja tagastatakse mis tahes numbriga, mis on joone alguses esinenud, ignoreerides kõik sulgemisnumbrid. Parseint () funktsiooniprotsessid ainult täisarv ja parsefloat () on nii täisarvud kui ka ujuvpunkti numbrid. Kui string algab "0x" või "0x", tõlgendab Parseint () seda kuueteistkümnendnumbrina. Näiteks:

Parseint ("3 pime hiired"); // naaseb 3.
Parsefloat ("3,14 meetrit"); // naaseb 3.14.
Parseint ("12.34"); // naaseb 12.
Parseint ("0XFF"); // naaseb 255.

Parseint () funktsioonil võib olla teine \u200b\u200bargument, mis näitab töödeldud numbri arvu alust. Kehtivad väärtused - 2 kuni 36. \\ t

Parseint ("11", 2); // naaseb 3 (1 * 2 + 1)
Partsiint ("FF", 16); // naaseb 255 (15 * 16 + 15)
Parseint ("ZZ", 36); // naaseb 1295 (35 * 36 + 35)
Parseint ("077", 8); // naaseb 63 (7 * 8 + 7)
Partsiint ("077", 10); // naaseb 77 (7 * 10 + 7)

Kui Parseint () ja Parsefloat () ei saa teisendada määratud string number, nad naasevad NAN.

Parseint ("üksteist"); // naaseb NAN-i.
Parsefloat ("$ 72,47"); // naaseb NAN-i.

Ei ole erinevusi, millist muutujat kasutatakse ekspressioonis. Kui väljend on matemaatiline, tõlgendatakse kõiki selle muutujaid automaatselt numbrina. Kui read töödeldakse, loetakse kõik väljendite osalised "osalejaid" liinidena. Kuid konverteerimise ülesanne JavaScript "rida number" on olemas palju laiemas kontekstis.

JavaScripti meetodid ridade konversioonide arv

ARSENALi meetodid numbrite stringide konverteerimiseks ei ole suured, vaid piisavad kõigis lihtsatel juhtudel. Siin on JavaScript (eriti algajatele) on praktilistes näidetes lihtne keeruline.

Näide kirjeldab nelja erinevat joont. Iga väljundliigi esimeses plokis muutuv funktsioon Tidof on defineeritud kui stringina. Siis konverteeritakse iga rida lihtsalt numbrile. Teises väljundplokis muutuvad muutujad muutujate pärast ümberkujundamise nähtav, nende tüüp on muutunud numbrile. JavaScript Paraasifloatide konversioon näide on eriti soovituslik: see oli "12e + 3", see sai "12000".

Muudatused stringi teisendamisel numbrile võib olla märkimisväärne! Kuid ainult esimesed tähemärgid on olulised: nad peaksid olema digitaalsed. Kui ükski digitaalne sümbol ei ole, siis tulemus on NAN.

Stringi tagurpidi ümberkujundamine "on muutunud" numbri järgi ei ole alati sama string. Seda hetke saab kasutada arvulise teabe sisestamise õigsuse kontrollimiseks.

Tavapärased ümberkujundamise meetodid

Seal on täisarvud ja seal on kooskõlas, vastavalt JavaScript rida number konverteerib:

  • parfeint;
  • parsefloat.

Üldjuhtumit rakendatakse stringi abil lihtsas matemaatilises ekspressioonis.

See on piisav, et panna ees sümbol string "+" ja kui on olemas number selles, tulemus väljend on number. Muutuse väärtus võib muutuda, kuid tüüp muudab alati: Tickef näitab numbrit, mitte stringi. Oluline on mõista, et transformeeritud muutuja kasutamine rea väljendusel võib näidata täiesti teistsugust tulemust.

Selles kontekstis algajatele JavaScript on äärmiselt lihtne. On raskem mõista täisarvu konversiooni tööd pasrseint meetodi abil, kuna see töötab masinas kümnendsüsteem Number, kuid võib tõlgendada stringi oktaal- või kuueteistkümnendina. Sellisel juhul ei sõltu see asjaolu alati teisest parameetrist, mis näitab arvu süsteemi.

JavaScript rida numbrile alati pöördub, kuid kui rea alguses ei ole digitaalset sümbolit, siis tulemus on NAN.

Numbrisüsteemide kohta on vaja ideede kohta, kuueteistkümnendate salvestamise meetodite kohta (number algab "0x") ja oktaalsete numbritega (number algab "0").

JavaScripti meetodi Parsefloat'i nüansside mõistmiseks piisab, et matemaatiline rekord on reaalne number.

Konverteerimine

JavaScript on brauseri keel, sest see on teiste keelte kriitilised sümbolid väljaspool ladina tähestikku ja numbreid. Sorteeri - ellujäänud operatsioon. Kuid see ei ole alati mõtet, et saata serverisse andmeid sorteerimise eesmärgil, lihtsamaks ja praktilisemaks töötamiseks brauseris.

Sellise ülesande lahendamiseks saate teisendada stringi sümboleid oma numbrikoodidesse või määrata tellitud numbrite järjestus nende numbrikoodides või numbrikoodides ja numbrile. Sisselülitamiseks rakendatud charcodeat () meetod määrab IB muutuja numbrilise väärtuse 98, st tähekood "B". Arvestades, et tähte "A" koodi väärtus on 97, saate arvu kõikide ladina tähestiku tähed kasvavas järjekorras real ja suur- komplekti. Sarnaselt vene tähestiku tähega.

Numbrite oma sorteerimise variant võimaldab teil moodustada soovitud tähemärkide komplekti. Võimalik, näiteks "pealtkuulamine" kirillitsa ja ladina ja segada neid, et jätta ainult suurepäraseid kirjutamise kirju, lisada komplekti tabs ja ruumid.

Ainulaadse stringi moodustamine

Kui kirjakood "A" on 97, siis erinevus kirja ja numbri 97 vahel annab unikaalse arvu tähestiku kirja. Iga rea \u200b\u200bsümboli unikaalsete numbrite kokkuvõtmine on raske selle stringi unikaalse arvu saada.

Kui iga kirja asend stringile on määratud kaal, näiteks asend:

  • 0 Kaal 1;
  • 1 Kaal 10;
  • 2 Kaal 100;

see korrutatakse ainulaadse arvu iga stringi tähemärgi kohta selle asendi massist, kus see on tuvastatud, ja kõikide numbrite kokkuvõtmine, mida saate unikaalse numbri ja kasutada seda ühemõttelise kirjavahetusena algses reas.

Selline rida konversioon on pöörduv, see tähendab, et numbriga saate alati lähteliini saada. Selline ümberkujundamine on kasulik, sest numbriga saate teha toimingut ohutult kontekstis kodeeringu, kirillitsa ja teiste kohalike omaduste saidi lehekülg, rakenduste, külastajariikide.

"Kasvavad saidi lehe valikute valimine

Sageli toimub see ülesanne luua valikud saidi leheküljed, mille väärtused ei saa eelnevalt täpsustada, kuid aja jooksul täiendatakse neid täiendada. Esimeses taotluses on esimesele külastajale kättesaadav tühi valija.

Iga uus sisenemise teabeliinide valija (mis tahes külastaja poolt) muudetakse numbrile, mis koos originaaliga saadetakse salvestusserverisse. Kui algab uus tööistung või uus külastaja, ei ole valija enam tühi. Allalaadimisleht jõuab mitte-tühja valikuga brauserile.

Iga uue valija väärtusega, ainult siis, kui see läheb salvestusserverisse ja alles siis, kui see on unikaalne digitaalne kood.

Selle ülesande lahendamiseks ei saa JavaScripti meetodit kasutada rea \u200b\u200bkasutamiseks. Tavaline Parseint ja Parseformation meetodid on mõeldud muuks kasutamiseks, kuid saate tulla algoritmi ühemõtteline konversioon stringi number, ja mitte tingimata pöörduv. On piisav, et konversioonialgoritmi algoritmi ei korrata joone erinevates tähemärkides.

Liikluse optimeerimine ja analüütika

Lehe moodustamisel kasutab arendaja märkimisväärseid andmeid. Esitage külastaja teabe sisestamiseks - hea Alandada saidi hinnangu tõttu oma nõrga funktsionaalsuse ja pettumust külastaja.

Sündmuste käitleja määramine JavaScripti funktsiooni kujul teatavate teabeplokkide külastaja tegevuse vormis, saate filtri sõnastada, mis võimaldab külastajalt täpselt seada eesmärgi vajalik teaveSaage soovitud lahendus.

Väikese teabe ümberkujundamine siin võib olla suvaliselt mahukas osa rida ja väga väike arv. Teisisõnu, konversioon JavaScript rea arvu arendaja täidab vastavalt selle algoritmi. Külastaja manipuleerib arusaadava teabe ja serveril on minimaalne summa andmed - number.

Paljude arvude dünaamika kõigile külastajatele täpselt teadaoleva teabe kontekstis võimaldab teise JavaScripti funktsiooni (mitte käitleja), mida nimetatakse serveri vastuse järgi Ajaxi mehhanismi kaudu, kiiresti reaalajas, et anda kõigile külastajatele samal ajal vajalikku teavet. Seega töötab süsteem.

See valik JavaScripti rea konverteerimiseks on väga nõudlik online-mängude, interaktiivsete konverentside, ülekande arendamisel kiirsõnumid jne.

Transformatsioonide tööriista kasutamine

JavaScript ja CSS töötlemise kontekstis numbriline teave Laske teil hallata lehekülje kuva ilma serveri osaluseta. CSS-i reeglid on ehitatud substringina, rekursiivselt. Tavaliselt parameeter on number, millele järgneb mitu tähte (näiteks "px", "pt", "em", ...). Parameeter on reegli substress ja reegel siseneb klassi või identifikaatori stiilis substroli.

Ümberkorraldus JavaScript.strete. Struktuur ... läheb soovitud numbrile, muundub stringist numbrile, muudab seda ja kirjutab tagasi soovitud asukohta. Reegel muutub "masin". See on lihtne ja mugav, serveri osalemine.

Stringi teisendamiseks JavaScripti teisendamiseks on kaks peamist võimalust. Üks võimalus on analüüsida seda ja teine \u200b\u200bvõimalus - muuta selle tüüpi number. Kõik muud vastused (näiteks eeskujuga pluss) tähendavad kaudset sundi nagu string number. Samuti saate teha sama numbri funktsiooniga.

Süntaktiline

Var parsitud \u003d parfeint ("97", 10);

parseint ja ParseFloat on kaks funktsioone, mida kasutatakse ridade vaadeteks. Süntaksi analüüs peatub vaikselt, kui see kuulub sümboliga, et see ei tunnista, et see võib olla kasulik stringide süntaktiliseks analüüsiks, näiteks "92PX", kuid see on ka mõnevõrra ohtlik, sest see ei anna sulle viga halbaga viga sisenemine, selle asemel, et "naaseb nan, kui string ei käivitu numbriga. Lõhe alguses joont ignoreeritakse. Siin on näide sellest, mida ta teeb midagi erinevat, mida vajate, ja ei näita, et midagi läks vale:

Var widgebassold \u003d parfeint ("97 800", 10); // vidina on nüüd 97

Hea tava alati näidata teise argument. Vanade brauserite puhul, kui string algas 0-ga, tõlgendatakse seda kui oktaali, kui seda ei määratud Radixi väärtusest, mis meelitas üllatusena palju inimesi. Käitumine kuueteistkümnendmise käivitamiseks algab, kui string algab 0x-ga, kui Radixi väärtust ei ole täpsustatud. 0xff. Standard tegelikult on muutunud kasutades EcMusacript 5, nii kaasaegsed brauserid Kui võõrustaja ei ole enam märgitud, ei sõida enam Okraanil. Parseint mõistab radialite alusele 36 ja sel juhul töödeldakse nii ülemist kui ka väiketähti samaväärsena.

String tüüpi muutus numbri järgi

Kõik muud eespool nimetatud trikid, mis ei kasuta parseintit, tähenda stringi kaudset sunniviimist numbrile. Ma eelistan seda teha selgelt

Var cast \u003d number ("97");

See erineb analüüsimeetoditest (kuigi see ikka ignoreerib ruume). See on range: kui see ei mõista kogu liini kui Nan naaseb, ei saa te seda kasutada 97px-tüüpi stringide puhul. Kuna teil on vaja primitiivset numbrit, mitte numbri ümbrise objekti, veenduge, et te ei sea uut numbrit funktsiooni.

Ilmselgelt annab numbri konversioon teile väärtus, mis võib olla ujuk, mitte terve number, nii et kui soovite täisarvu, peate seda muutma. Selle tegemiseks on mitmeid viise:

Var ümardatud \u003d Math.floor (number ("97.654")); // muu valikud on Math.ceil, Math.Round var fikseeritud \u003d number ("97.654"). Tofixed (0); // ümardatud mitte kärbitud var bitwise \u003d number ("97.654") | 0; // Ärge kasutage suurt hulka

Iga mõru operaator (siin olen õnnistus või, kuid saate teha ka topelt eitamist, nagu varasemas vastuses või bitt vahetuses) teisendab väärtus 32-bitise täisarvu ja enamik neist konverteeritakse allkirjastatud täisarvuks. Pange tähele, et see Ei vaja suuri täisarvu. Kui täisarv saab esindada 32 bitti, see viiakse lõpule.

~ ~ 3000000000,654 "\u003d\u003d\u003d -1294967296 // See on sama number (" 3000000000.654 ") | 0" 3000000000.654 "\u003e\u003e\u003e 0 \u003d\u003d\u003d 3000000000 // allkirjastamata õige nihe annab teile lisatasu" 300000000000.654 "\u003e \u003e\u003e 0 \u003d\u003d\u003d 3647256576 // Aga ikkagi ebaõnnestub suuremate numbritega

Suure arvu korralikult töötada, peate kasutama ümardamismeetodeid

Math.floor ("3000000000.654") \u003d\u003d\u003d 3000000000 // See on sama nagu Math.floor (number (3000000000.654 "))

Pidage meeles, et kõik need meetodid mõistavad eksponentsiaalse märke, seetõttu on 2E2 200 ja mitte NAN. Lisaks on number mõistab "lõpmatust", samas kui analüüsimeetodid ei ole.

Kohandatud

On vale, et ükskõik milline neist meetoditest teeb täpselt seda, mida sa tahad. Näiteks vajan ma tavaliselt vea, mis tekib süntaksianalüüsi ebaõnnestumise korral ja ma ei vaja lõpmatu toetust, eksponente ega juhtivaid lünki. Sõltuvalt teie kasutamisest on mõnikord mõttekas kirjutada kasutaja konversioonifunktsiooni.

Kontrollige alati, et numbri või ühe analüüsimeetodi väljund on teie arvates number. Sa tahad peaaegu kindlasti kasutada ISNAN-i, et veenduda, et number ei ole nan (tavaliselt see on ainus viis teada saada, et süntaksianalüüs ebaõnnestus).

JavaScriptis on 2 sisseehitatud funktsiooni, et konverteerida read numbrid: Parsefloat () ja Parseint ().

parsefloat () võtab argumendi stringi, mis tuleb tuua numbrilisele tüübile ja tagastab tüüpi ujuki arvu. Number tuleks sisalduda joone alguses. Kui pärast numbrit joonel on veel mõned tähemärgid, siis nad katkestavad. Arvude osa arvu number tuleb registreerida läbi punkti (komaga ei tajuta eraldajana). Juhul Parsefloat () ei saa teisendada stringi, tagastab see NAN-i.

Samuti funktsioon võib töödelda "Num N korrutatuna 10 kraadi x", mis programmeerimine on tavapäraselt salvestada läbi tähe E, näiteks: 0,5E6 või 0,5e + 6. Aste võib olla ka negatiivne: 0.5E-6, mis on 0,5 * 10 ^ -6 või 0,5 / 1000000.

Parsefloat ("3.78kg") // 3.78 ParseFloat ("kg33" ") // NAN PARSEFLOAT (" 0004.111 "") // 4.111 Parsefloat ("0x66") // 0 Parsefloat ("". 5 " ") // 0.5 Parsefloat (" "-. 5" ") // -0,5 Parsefloat (" "0.5E6" ") // 500000 Parsefloat (" 0.03E + 2 "") // 3 ParseFloat ("" 3e- 4 "") // 0.0003 ParseFloat ("- 3E-4" ") // -0.0003

Parseint (string [, RADIX]) funktsioon võtab stringi esimene argument, analüüsib seda ja tagastab täisarv (tüüp täisarv). Funktsioon püüab analüüsida numbri süsteemi, milles number salvestatakse lähteliinil (näiteks kümnend-, kaheksa- või kuueteistkümnendal - kuid mitte ainult need). Samuti saab numbrisüsteemi täpsustada selgesõnaliselt, edastades selle teise Radixi parameetriga. Radix parameeter võib võtta mis tahes number 2 kuni 36 (süsteemides üle 10. tähed tähed inglise tähestikku kasutatakse, alates A kuni Z).

Numbers tüüp 1.5e6 funktsioon ei käsitle parsefloat ().

Palun lugege allpool toodud näiteid, et mitte pannakse lõkse, rakendatakse partseint () funktsiooni toimimises.

Parseint ("25" ") // 25 Parseint (" - 25 "") // -25 Parseint ("45.12" ") // 45 Parseint (" 045 ", 10) // 45 Partsiint (" 70 ", 8) //56 (70 oktaali süsteemis on 56 kümnendal) Parseint (" "070") // 56 (oluline! Parioint ("88" ", 8) // NAN (Oktalisüsteemis Nl Digit 8) Parseint (" A1 ") // NAN (oluline !!! Vaikefunktsioon ei tajuta numbrit 16-rikas, Kui ei lisata alguse ridade 0x) Parseint ("" A1 ", 16) // 161 (siin on selgelt näidatud numbrisüsteemiga) Parseint (" 0xA1 ") // 161 (õige 16-Riche number formaat, Te ei saa määrata teist parameetrit) Parseint ("" 099 "") // 0 (oluline! !! ei tööta parsefloatina) Parseint ("ZZ" ", 36) // 1295 Parseint (" "- FF") // Nan Parseint ("" - FF "", 16) // -255

Kui töötlete andmeid tekstiväliSee siseneb kasutajale, kasutage alati partseintit () koos teise Radixi parameetriga, see kaitseb teie koodi ootamatutest tulemustest.

JavaScriptis on 2 sisseehitatud funktsiooni, et konverteerida read numbrid: Parsefloat () ja Parseint ().

parsefloat () võtab argumendi stringi, mis tuleb tuua numbrilisele tüübile ja tagastab tüüpi ujuki arvu. Number tuleks sisalduda joone alguses. Kui pärast numbrit joonel on veel mõned tähemärgid, siis nad katkestavad. Arvude osa arvu number tuleb registreerida läbi punkti (komaga ei tajuta eraldajana). Juhul Parsefloat () ei saa teisendada stringi, tagastab see NAN-i.

Samuti funktsioon võib töödelda "Num N korrutatuna 10 kraadi x", mis programmeerimine on tavapäraselt salvestada läbi tähe E, näiteks: 0,5E6 või 0,5e + 6. Aste võib olla ka negatiivne: 0.5E-6, mis on 0,5 * 10 ^ -6 või 0,5 / 1000000.

Parsefloat ("3.78kg") // 3.78 ParseFloat ("kg33" ") // NAN PARSEFLOAT (" 0004.111 "") // 4.111 Parsefloat ("0x66") // 0 Parsefloat ("". 5 " ") // 0.5 Parsefloat (" "-. 5" ") // -0,5 Parsefloat (" "0.5E6" ") // 500000 Parsefloat (" 0.03E + 2 "") // 3 ParseFloat ("" 3e- 4 "") // 0.0003 ParseFloat ("- 3E-4" ") // -0.0003

Parseint (string [, RADIX]) funktsioon võtab stringi esimene argument, analüüsib seda ja tagastab täisarv (tüüp täisarv). Funktsioon püüab analüüsida numbri süsteemi, milles number salvestatakse lähteliinil (näiteks kümnend-, kaheksa- või kuueteistkümnendal - kuid mitte ainult need). Samuti saab numbrisüsteemi täpsustada selgesõnaliselt, edastades selle teise Radixi parameetriga. Radix parameeter võib võtta mis tahes number 2 kuni 36 (süsteemides üle 10. tähed tähed inglise tähestikku kasutatakse, alates A kuni Z).

Numbers tüüp 1.5e6 funktsioon ei käsitle parsefloat ().

Palun lugege allpool toodud näiteid, et mitte pannakse lõkse, rakendatakse partseint () funktsiooni toimimises.

Parseint ("25" ") // 25 Parseint (" - 25 "") // -25 Parseint ("45.12" ") // 45 Parseint (" 045 ", 10) // 45 Partsiint (" 70 ", 8) //56 (70 oktaali süsteemis on 56 kümnendal) Parseint (" "070") // 56 (oluline! Parioint ("88" ", 8) // NAN (Oktalisüsteemis Nl Digit 8) Parseint (" A1 ") // NAN (oluline !!! Vaikefunktsioon ei tajuta numbrit 16-rikas, Kui ei lisata alguse ridade 0x) Parseint ("" A1 ", 16) // 161 (siin on selgelt näidatud numbrisüsteemiga) Parseint (" 0xA1 ") // 161 (õige 16-Riche number formaat, Te ei saa määrata teist parameetrit) Parseint ("" 099 "") // 0 (oluline! !! ei tööta parsefloatina) Parseint ("ZZ" ", 36) // 1295 Parseint (" "- FF") // Nan Parseint ("" - FF "", 16) // -255

Kui hakkate andmeid kasutajale siseneva teksti valdkonnas, kasutage alati partseint () koos teise Radixi parameetriga, kaitseb see teie koodi ootamatutest tulemustest.