Javascript konverzia čísla v reťazci. JavaScript: Konverzia typu údajov

JavaScript je najkrajší jazyk (presnejšie, slabo napísané alebo dynamicky napísané). To znamená, že by sme nemali špecifikovať typ premennej, keď ju vyhlásil. Indepóza dáva javascript flexibilitu a jednoduchosť, uprednostňuje pre skriptovací jazyk (hoci tieto vlastnosti získajú cenu nedostatku prísnosti, dôležitý pre dlhé a zložitejšie programy, ktoré sú často napísané na prísnejších jazykoch, ako je C alebo Java). Dôležitou črtou flexibilnej práce s typmi údajov v JavaScript je automatické transformácie dát vykonaných tlmočníkom. Ak sa napríklad metóda dokumentu.write () prenáša, JavaScript ho automaticky prevádza na ekvivalentnú reprezentáciu reťazca. Podobne, kontrola hodnoty reťazca v prípade inštrukcií, JavaScript automaticky konvertuje tento reťazec na logickú hodnotu - vo FALSE, ak je reťazec prázdny, a pravdivý inak.

Hlavným pravidlom je, že keď sa hodnota jedného typu vyskytne v kontexte, kde sa vyžaduje hodnota nejakého iného typu, JavaScript sa automaticky pokúsi previesť hodnotu požadovaným spôsobom. Preto napríklad v kontexte, ktorý preberá logickú premennú, číslo sa konvertuje na logickú hodnotu.

Objekt v kontexte reťazca sa prevedie na reťazec. Montáž v číselnom kontexte JavaScriptu sa snaží konvertovať na číslo.

Konverzia "Elementary Type Objekt"
Napríklad v logickom kontexte sú všetky nižšie uvedené objekty prevedené na hodnotu TRUE:

Nový Boolean (False) // Internal Hodnota sa rovná False, ale objekt
// prevedené na true
Nové číslo (0)
Nový reťazec (")
Nové pole ()

Transformácia objektov v čísle začína volaním metódy hodnoty tohto objektu. Väčšina objektov zdedí Štandardná metóda Valueof () triedny objekt, ktorý jednoducho vráti samotný objekt. Vzhľadom k tomu, že metóda štandardnej hodnoty () nevráti základnú hodnotu, Javascript sa potom pokúša konvertovať objekt na číslo, ktoré volajú jeho metódu TOSTRING () a konverzie výsledného reťazca. Pre polia to vedie k zaujímavým výsledkom. Pripomeňme, že metóda Tostring () konvertuje prvky poľa do reťazca, a potom vráti výsledok zreťazenia týchto riadkov s čiarkami medzi nimi. V dôsledku toho sa pole bez prvkov prevedie na prázdny reťazec, ktorý je konvertovaný na 0! Okrem toho, ak pole pozostáva z jedného prvku, číslo n, pole je premenené na reťazcové zobrazenie tohto čísla, ktoré sa potom prevedie späť na číslo N.

Ak pole obsahuje viac ako jeden prvok, alebo ak jeho jediný prvok nie je číslo, pole sa konvertuje na Nan. V JavaScript nie je kontext vždy určuje jednoznačne! Operátor + a porovnávacie operátory (a\u003e \u003d) Práca s číslami a reťazcami, takže keď sa objekt používa s jedným z týchto operátorov, nie je jasné, čo musí byť transformované na číslo alebo v reťazci. Vo väčšine prípadov sa JavaScript prvé snaží konvertovať objekt volaním metódy hodnoty (). Ak táto metóda vráti základnú hodnotu (zvyčajne číslo), táto hodnota sa používa. Avšak, často hodnota () jednoducho vráti objekt bez konverzie; V tomto prípade sa JavaScript potom pokúša konvertovať objekt na reťazec pomocou hody TOSTRING (). Tam je len jedna výnimka z tohto pravidla konverzie: Keď sa objekt dátumu používa s operátorom +, konverzia sa vykonáva pomocou metódy TOSTRING (). Existencia tejto výnimky je spôsobená tým, že dátum má metódu Tostring () a metóda hodnoty () (). Pri použití dátumu s operátorom + takmer vždy vyžaduje reťazcový zreťazenie. Ale keď je dátum zapojený do porovnávacej operácie, je takmer vždy potrebné vykonať číselné porovnanie, aby sa určilo, ktoré z týchto dvoch časov predchádzalo druhé.

Väčšina objektov alebo nemajú metódu hodnoty (), alebo táto metóda nevráti užitočné výsledky.

Keď sa operátor + používa na objekt, obvykle sa koná so reťazca, a nie pridanie. Keď sa porovnávacie operátor aplikuje na objekt, zvyčajne sa uskutočňuje porovnanie reťazca, nie číselné.

Definovanie objektu Špeciálna metóda Valueof () sa môže správať odlišne. Definovaním metódy hodnoty (), vrátenie čísla môžete aplikovať aritmetické a iné vyhlásenia k vášmu objektu, ale pridanie vášho objektu bude vykonaná tak, ako sa očakáva: metóda Tostring () už nie je nazývaná a reťazcou reprezentáciou Číslo vrátené metódou sa podieľa na zhodovacom valueOF ().

Nakoniec si pamätajte, že metóda hodnoty () nie je nazývaná tonuber (), prísne povedané, jeho úlohou je previesť objekt do zmysluplnej základnej hodnoty, takže niektoré objekty môžu mať metódy hodnoty, ktoré vracajú riadky.

Explicitné typy konverzií
Java-skript nedefinuje transformáciu operátora ako v jazykoch C, C ++ a Java, ale poskytuje podobné prostriedky. V jazyku Javascript 1.1 (a v ECMA-262) číslo (), boolean (), reťazec () a objekt () môže byť nazývaný nielen ako dizajnéri, ale aj ako funkcie. Byť spôsobený týmto spôsobom, tieto funkcie sa snažia konvertovať ich
Argumenty v príslušnom type. Môžete napríklad previesť ľubovoľnú hodnotu x na reťazec pomocou reťazca (x) a ľubovoľnú hodnotu Y na objekt pomocou objektu (y).

Existuje niekoľko ďalších techník, ktoré môžu byť užitočné na vykonávanie explicitných transformácií typu. Ak chcete previesť hodnotu na reťazec, urobte z neho zreteľom s prázdnym reťazcom:

Var x_as_string \u003d x + "";

Previesť hodnotu na číslo, odpočítanie nula z nej:

Var x_as_number \u003d x - 0;

Je možné premeniť akúkoľvek hodnotu na logickú hodnotu pomocou operátora!, Dvakrát aplikované:

Var x_as_bolean \u003d !! x;

Vzhľadom k tendencii JavaScript automaticky previesť údaje na požadované tento moment Typ, explicitné konverzie sa zvyčajne nevyžadujú. Príležitostne sú však užitočné, a môžu byť použité, aby sa program jasnejší a presnejší.

Transformácia čísel v reťazci
Transformácia čísel v reťazci sa vykonáva v Javascript, možno častejšie ako iné. Aj keď sa zvyčajne deje automaticky, existuje niekoľko užitočných spôsobov, ako výslovne transformovať tento druh. Dvaja sme už videli:

Var string_value \u003d reťazec (číslo); // pomocou dizajnéra reťazca ()
// ako funkcia
Var string_value \u003d číslo + ""; // Zlúčenie s prázdnym reťazcom

Ďalšia príležitosť poskytuje metódu Toostring ():

String_value \u003d číslo.ToString ();

TOSTRING () metóda čísla objektu (elementárne numerické hodnoty sa konvertujú na číslové objekty, takže môžete volať túto metódu) Akceptuje voliteľný argument, ktorý nastaví základňu čísla systému, ku ktorému sa bude konverzia vykonať. Ak nie je uvedený argument, transformácia sa vykonáva podľa báz 10. Ale môžete konvertovať čísla s inými bázami (medzi 2 a 36). Napríklad:

Var n \u003d 17;
binary_string \u003d n.nostring (2); // rovnomerne "10001"
OCTAL_STRING \u003d "0" + N.TOSTRING (8); // rovnomerne "021"
hex_string \u003d "0x" + N.Tostring (16); // "0x11"

Nedostatok verzií Javascript na verziu 1.5 spočíva v neprítomnosti Štandardný módaPovolenie na určenie počtu desatinných príznakov v rade vyplývajúce z transformácie čísla alebo vyžadujú použitie exponenciálnej notácie. To môže komplikovať zobrazenie čísel s tradičnými formátmi, ako sú hotovostné hodnoty.

ECMAScript V3 a JavaScript 1.5 Obísť túto prekážku pridaním troch novej metódy konverzie do riadku na triedu Číslo. Metóda TOFIXED () konvertuje číslo na reťazec a zobrazí zadaný počet čísel po desatinnom bode bez použitia exponenciálnej notácie. Metóda Toexponenciálna () konvertuje číslo na reťazec, ktorý ho zaznamenáva v exponenciálnom zápise s jednou číslicou pred desatinnou čiarkou a zadaným počtom čísel po ňom. Metóda topRecision () zobrazuje číslo pomocou zadaného počtu významných číslic. Ak takéto množstvo významných číslic nestačí na výstup celej časti čísla, zaznamenáva sa v exponenciálnom zápise. Upozorňujeme, že všetky tri metódy správne zaokrúhlite výsledné čísla riadkov. Pozrite sa na nasledujúce príklady:

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

Riadková konverzia v číslach
Videli sme, že v numerickom kontexte riadku reprezentujúce čísla sa automaticky transformuje na reálne čísla. Ako je uvedené vyššie, táto konverzia môže byť explicitne:

Číslo VAR \u003d číslo (String_Value);
Číslo VAR \u003d String_Value - 0;

Takáto transformácia je nepohodlná kvôli jeho nadmernému prísnosti. Pracuje len s desatinné číslaA hoci konverzia umožňuje popredné a uzatváracie priestory, neumožňuje po čísle v riadku žiadne neoznačené znaky. Pre flexibilnejšie transformácie môžete použiť funkcie Parseint () a ParseFloat (). Tieto funkcie sa transformujú a vrátia sa ľubovoľným číslom prítomným na začiatku riadku, ignorujúc akékoľvek uzatváracie nečíselné znaky. Funkcia PARSEINT () Funkcia len celé číslo a parsefloat () sú čísla celé čísla a čísla plávajúcich. Ak reťazec začína "0x" alebo "0x", parseint () ho interpretuje ako hexadecimálne číslo. Napríklad:

Parseint ("3 slepé myši"); // vráti 3.
Parsefloat ("3,14 metra"); // vráti 3.14.
Parseint ("12.34"); // vráti 12.
Parseint ("0xff"); // vráti 255.

Funkcia Parseint () môže mať druhý argument, ktorý označuje základňu počtu spracovaného čísla. Platné hodnoty - od 2 do 36. Napríklad:

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

Ak sa Parseint () a ParseFloat () nemôžu konvertovať zadaný reťazec na číslo, vrátia Nan.

Parseint ("jedenásť"); // vráti Nan.
Parsefloat ("$ 72.47"); // vráti Nan.

Neexistuje žiadny rozdiel v akom type premennej sa používa vo výraze. Ak je výraz matematické, všetky jeho premenné budú automaticky interpretované ako numerické. Ak sú riadky spracované, potom sa všetky "účastníci" výrazov považujú za riadky. Úloha konverzie na javascript "riadok na číslo" existuje v oveľa širšom kontexte.

JavaScript Metódy konverzie riadkov v číslach

Arsenálne metódy pre konverziu reťazcov v číslach nie sú veľké, ale dostatočné vo všetkých jednoduchých prípadoch. Tu JavaScript (pre začiatočníkov) je cesta z jednoduchého až po komplexu v praktických príkladoch.

Príklad opisuje štyri rôzne čiary. V prvom bloku výstupného typu funkcia premennej Typof je definovaný ako reťazec. Potom sa každý riadok veľmi jednoducho prevedie na číslo. V druhom výstupnom bloku sa zmeny v premenných po transformácii viditeľné, ich typ sa stal číslom. Príklad konverzie parasefloat je obzvlášť indikatívny: Bol to "12E + 3", stal sa "12000".

Zmeny pri konverzii reťazca na číslo môže byť významné! Dôležité sú však len prvé znaky: mali by byť digitálne. Ak nie je jeden digitálny symbol, výsledok bude Nan.

Reverzná transformácia reťazca "sa stala" číslom nie je vždy rovnaký reťazec. Tento moment môže byť použitý na overenie správnosti zadania numerických informácií.

Konvenčné transformačné metódy

Tam sú celé čísla a existujú frakčné, resp. Javascript riadok na číslo konvertuje podľa:

  • parseint;
  • parsefloat.

Všeobecný prípad sa vykonáva pomocou reťazca v jednoduchom matematickom vyjadrení.

Stačí byť umiestnený pred symbolom reťazca "+" a ak je v ňom číslo, výsledkom výrazu bude číslo. Hodnota premennej sa môže meniť, ale typ sa vždy zmení: TYPOUP Ukážte číslo, nie reťazec. Je dôležité pochopiť, že použitie transformovanej premennej v rade expresie môže vykazovať úplne iný výsledok.

JavaScript pre začiatočníkov v tomto kontexte je mimoriadne jednoduchý. Je ťažšie pochopiť prácu celočíselnej konverzie metódy Pasrseint, pretože pracuje v stroji desatinný systém Číslo, ale môže interpretovať reťazec ako osmičku alebo hexadecimálne. V tomto prípade táto okolnosť nie je vždy závislá od druhého parametra, ktorá označuje číslo čísla.

Javascript riadok na číslo sa vždy otočí, ale ak nie je v riadku žiadny digitálny symbol, potom bude výsledok NAN.

Je potrebné mať nápady o číslových systémoch, o metódach nahrávania hexadecimálneho (číslo začína "0x") a oktám čísla (počet začína "0").

Ak chcete pochopiť nuansy spôsobu JavaScriptu Parsefloat, stačí mať predstavu o tom, čo je matematický záznam skutočné číslo.

Konverzia

JavaScript je jazyk prehliadača, pretože je to ďalšie ďalšie jazyky kritické pre symboly mimo hlavnej sady latinskej abecedy a čísla. Triedenie - Prežili prevádzku. Nie vždy ma to dáva zmysel posielať údaje na server na triedenie účely, jednoduchšie a praktickejšie pracovať na mieste v prehliadači.

Ak chcete vyriešiť takúto úlohu, môžete konvertovať reťazec symboly do svojich číselných kódov alebo priradiť objednanú sekvenciu čísel v ich číselných kódoch alebo číslici a číslice. Metóda Charcodeat () aplikovaná na reťazec priradí číselnú hodnotu 98 premennej IB, to znamená, že kódový kód "B". Vzhľadom na to, že hodnota kódu písmena "A" je 97, môžete získať čísla všetkých písmen latinskej abecedy vo vzostupnom poradí na riadku a veľkých písmenách. Podobné písmenám ruskej abecedy.

Vlastné triedenie variantu cez čísla vám umožní vytvoriť požadované súbory znakov. Je možné napríklad "zachytiť" cyrilické a latinské a premiešajte ich, aby ste ponechali len vynikajúce písmená písania, pridajte do súborov kariet a medzier.

Tvorba jedinečného počtu reťazca

Ak je kód písmen "A" 97, potom rozdiel medzi písmenom a číslom 97 poskytne jedinečné číslo písmena v abecede. Zhrnutie jedinečných čísel pre každý symbol riadku je ťažké získať jedinečné číslo tohto reťazca.

Ak je každá poloha písmena v reťazci priradená hmotnosť, napríklad poloha:

  • 0 hmotnosť 1;
  • 1 hmotnosť 10;
  • 2 hmotnosť 100;

vynásobuje jedinečné číslo každého charakteru reťazca na hmotnosť pozície, v ktorej je zistený, a zhrnutím všetkých čísel môžete získať jedinečné číslo a používať ho ako jednoznačnú korešpondenciu v pôvodnej línii.

Takáto konverzia riadka je reverzibilná, to znamená, že číslo môžete vždy získať zdrojovú čiaru. Takáto transformácia je prospešná, pretože s číslom môžete vykonať akúkoľvek operáciu bezpečne v kontexte kódovania, cyrilických a iných miestnych vlastností stránky, oblasti aplikácie, návštevnícke krajiny.

"Pestovanie" sektor stránok stránky

Často sa vyskytuje úloha vytvárania selektorov na stránkach stránok, ktorých hodnoty nie je možné zadať vopred, ale časom sú doplnené. V prvej aplikácii je prvá návštevník k dispozícii prázdny výber na zadanie informácií.

Každý nový záznam informačných liniek v voliči (akýmkoľvek návštevníkom) sa premieňa na číslo, ktoré spolu s originálom sa posiela do úložného servera. Keď začína nová pracovná relácia alebo prichádza nový návštevník, volič už nie je prázdny. Stránka sťahovania prichádza do prehliadača s neprázdnym voličom.

S každou novou voličovou hodnotou, len raz prejde do úložného servera a len po priradení jedinečného digitálneho kódu.

Ak chcete vyriešiť túto úlohu, metóda JavaScript nie je možné použiť na používanie riadku. Zvyčajné metódy Parseint a Parsefloat sú určené pre iné použitie, ale môžete prísť s algoritmom pre jednoznačnú konverziu reťazca v čísle, a nie nevyhnutne reverzibilné. Stačí, že algoritmus konverzie algoritmus sa neopakuje v rôznych množstvách znakov v riadku.

Optimalizácia a analýza návštevnosti

Pri vytváraní stránky, vývojár používa významné množstvo informácií. Poskytnúť návštevníkovi zadať informácie - dobrý spôsob Znížiť hodnotenie stránky kvôli svojej slabé funkčnosti a sklamať návštevníka.

Priradenie manipulácie s udalosťou vo forme funkcie JavaScriptu na akcie návštevníka pre určité informačné bloky môžete formulovať filter, ktorý umožní návštevníkovi presne dať cieľ, nájsť potrebné informácie, Získajte požadované riešenie.

Transformácia malých informácií tu môže byť ľubovoľne zámerná časť čiary a veľmi malá v čísle. Inými slovami, konverzia radu JavaScript na počet vývojárov vykonáva podľa svojho algoritmu. Návštevník manipuluje s pochopiteľným informáciám a server má minimálne množstvo údajov - číslo.

Dynamika mnohých čísel na všetkých návštevníkov v kontexte presne známych informácií umožňuje inú funkciu JavaScriptu (nie obslužný fanúšik), nazývaný serverovou odpoveďou prostredníctvom mechanizmu AJAX, okamžite v reálnom čase poskytnúť všetkým návštevníkom potrebné informácie súčasne. Takže systém funguje.

Táto možnosť pre konverziu radu Javascript je veľmi v dopyte vo vývoji online hier, interaktívnych konferencií, transfer okamžité správy atď.

Použitie náradia transformácií

JavaScript a CSS v kontexte spracovania Číselné informácie Povoľte, aby ste spravovali zobrazenie stránky bez účasti servera. Pravidlá CSS sú vybudované ako podreťazcovanie, rekurzívne. Zvyčajne je parameter číslo, po ktorom nasleduje niekoľko písmen (napríklad "px", "pt", "em", ...). Parameter je v pravidle podprestre a pravidlo vstupuje do substrolu v štýle triedy alebo identifikátora.

Recursion Javascript.Strete. Štruktúra ... ide na požadované číslo, konvertuje z reťazca na číslo, zmení ho a zapíše späť na požadované miesto. Pravidlo sa mení "stroj". Je to jednoduché a pohodlné, žiadna účasť servera.

Existujú dva hlavné spôsoby, ako previesť reťazec na Javascript. Jedným zo spôsobov je to analyzovať ho a iným spôsobom - zmeniť svoj typ na číslo. Všetky triky v iných odpovediach (napríklad Unly Plus) znamenajú implicitné nátlak ako reťazec na číslo. Môžete tiež urobiť to isté s funkciou Číslo.

Syntaktický

Varzed \u003d Parseint ("97", 10);

parseint a Parsefloat sú dve funkcie používané na analýzu riadkov do čísel. Analýza syntaxe sa ticho zastaví, ak spadne do symbolu, že nepozná, že to môže byť užitočné pre syntaktickú analýzu reťazcov, napríklad "92px", ale je to tiež trochu nebezpečné, pretože vám nedá žiadne chyby so zlým Vstup, Namiesto toho "RETURN NAN, ak reťazec nezačne s číslom. Rozdiel na začiatku riadku je ignorovaná. Tu je príklad toho, čo robí niečo inak, čo potrebujete, a neznamená, že niečo šlo zle:

Var widgetssold \u003d parseint ("97 800", 10); // widgetssold je teraz 97

Dobrá prax vždy označujú ako druhý argument. V starej prehliadačoch, ak sa reťazec začal s 0, bolo by interpretované ako OCTAL, ak neboli špecifikované hodnotou Radixu, ktorá prilákala mnoho ľudí prekvapením. Správanie pre hexadecimálne spustenie sa spustí, ak reťazec začína 0x, ak hodnota Radix nie je špecifikovaná. 0xff. Štandard sa skutočne zmenil pomocou ECMAScript 5, tak moderné prehliadače Už nie je neuskutočňovaný OCAL, keď je hostiteľ označený, ak hodnota Radix nie je špecifikovaná. Parseint chápe Radiky na Base 36, av tomto prípade sú horné aj malé písmená spracované ako ekvivalent.

Zmena typu reťazca podľa čísla

Všetky ostatné triky uvedené vyššie, ktoré nepoužívajú Parseint, znamenajú implicitné nátlak reťazca na číslo. Radšej to urobím

VAR Cast \u003d číslo ("97");

To sa líši od metód analýzy (hoci stále ignoruje medzery). Je prísny: Ak nerozumie celému riadku, než sa vráti Nan, takže ho nemôžete použiť na struny typu 97px. Keďže potrebujete primitívne číslo, nie objekt čísla wrapper, uistite sa, že nie ste nastavte nový pred funkciou čísla.

Samozrejme, konverzia na číslo vám dáva hodnotu, ktorá môže byť plavák, a nie celé číslo, takže ak chcete celé číslo, musíte ho zmeniť. Existuje niekoľko spôsobov, ako to urobiť:

ROAD ROUDED \u003d MATH.FLOOR (číslo ("97,654"); // Iné možnosti sú Math.CEIL, Math.round var fixed \u003d číslo ("97.654"). TOFIXED (0); // zaokrúhlené skôr ako skrátené VAR Bitwised \u003d číslo ("97,654") 0; // Nepoužívajte pre veľké počty

Akýkoľvek horkový operátor (tu som požehnanie alebo, ale môžete tiež urobiť dvojitú negáciu, ako v skoršej odpovedi alebo bitovej zmene) konvertuje hodnotu na 32-bitové celé číslo a väčšina z nich sa konvertuje na podpísané celé číslo. Toto Nebude potrebovať veľké celé čísla. Ak môže byť celé číslo reprezentované v 32 bitoch, bude dokončené.

~ ~ "3000000000.654" \u003d\u003d\u003d -1294967296 // Toto je rovnaké ako číslo ("3000000000.654") 0 "3000000000,654" \u003e\u003e\u003e 0 \u003d\u003d\u003d\u003d\u003d 3000000000 // nepodpísaný správny posun vám poskytuje extra bit "300000000000.654"\u003e \u003e\u003e 0 \u003d\u003d\u003d 3647256576 //, ale stále zlyhá s väčšími číslami

Ak chcete správne pracovať s veľkými číslami, musíte použiť metódy zaokrúhľovania

Math.floor ("3000000000.654") \u003d\u003d\u003d\u003d 3000000000 // Toto je rovnaké ako Math.floor (číslo ("3000000000.654"))

Majte na pamäti, že všetky tieto metódy chápu exponenciálnu notáciu, preto 2E2 je 200, a nie naN. Okrem toho číslo chápe "nekonečno", zatiaľ čo metódy analýzy nie.

Vlastný

Je nesprávne, že niektorá z týchto metód presne to, čo chcete. Zvyčajne potrebujem napríklad chybu, ktorá sa vyskytuje, keď zlyhanie analýzy syntaxe a nepotrebujem podporu nekonečna, vystavovače alebo vedúce medzery. V závislosti od používania, niekedy má zmysel napísať funkciu konverzie používateľa.

Vždy skontrolujte, či je výstup čísla alebo jednej z metód analýzy číslo, ktoré očakávate. Takmer určite budete chcieť použiť Isnan, aby ste sa uistili, že číslo nie je NAN (zvyčajne je to jediný spôsob, ako zistiť, či analýza syntaxe zlyhala).

V Javascriptovi existujú 2 vstavané funkcie na konverziu radov v číslach: Parsefloat () a Parseint ().

parsefloat () berie argumentáciu reťazec, ktorý musí byť uvedený na číselný typ, a vráti počet typov typu. Číslo by malo byť obsiahnuté na začiatku riadku. Ak po čísle v riadku stále niektoré znaky, potom odrezali. Frakčná časť čísla by mala byť zaznamenaná cez bod (čiarka nie je vnímaná ako separátor). V prípade, že Parsefloat () nemôže konvertovať reťazec, vráti sa naN.

Funkcia môže tiež zvládnuť "Num N vynásobený 10 až 10 stupňov X", ktorý je v programovaní obvyklý, aby sa zaznamenal cez písmeno E, napríklad: 0,5E6 alebo 0,5E + 6. Titul môže byť tiež negatívny: 0,5E-6, ktorý je 0,5 x 10 ^ -6 alebo 0,5 / 1000000.

Parsefloat ("" 3,78 kg ") // 3.78 parsefloat (" "kg33" ") // nan parsefloat (" "0004.111" ") // 4.111 Parsefloat (ďalej len" 0x66 "") // PARSEFLOTTER ("". 5 " ") // 0.5 parsefloat (" "-. 5" ") // -0,5 parsefloat (" "0,5E6" ") // 500000 parsefloat (" 0,03E + 2 "") // 3 parseflikt ("" 3e--- 4 "") // 0.0003 parsefloat ("" - 3E-4 "") // -0.0003

Funkcia Parseint (reťazec [Radix]) berie reťazec ako prvý argument, analyzuje ho a vráti celé číslo (typové celé číslo). Funkcia sa snaží analyzovať systémový systém, v ktorom je číslo zaznamenané v zdrojovej linke (napríklad desatinné, oktálne alebo hexadecimálne - ale nielen tieto). Tiež, číselný systém môže byť špecifikovaný explicitne prechodom podľa druhého parametra Radix. Parameter Radix môže mať ľubovoľné číslo od 2 do 36 (v systémoch nad 10, sa používajú písmená anglickej abecedy, od A po Z).

Čísla Typ 1.5E6 Funkcia neobnovuje ako parsefloat ().

Prečítajte si nižšie uvedené príklady, aby sa na úskalia umiestnili, používajú sa v prevádzke funkcie Parseint ().

Parseint ("" "25" ") //25 Parseint (" "- 25" ") // -25 parseint (" "45.12" ") // 45 Parseint (" 045 "", 10) // 45 Parseint (" 70 ", 8) // 56 (70 v Okomatovom systéme Je 56 v desatinnom systéme) Parseint (" "070") // 56 (DÔLEŽITÉ !!! ZEROUNOSTIVEJNOSŤ PRVÁ FUNKCIA NA ANALY ANALYZUJÚCEHO POTREBU Parseint ("" "88", 8) // Nan (v Okomatický systém No číslica 8) Parseint ("" A1 ") // NAN (DÔLEŽITÉ !!! Predvolená funkcia nevedie číslo ako 16-bohatý, Ak nie je pridávať na začiatočnom riadkoch 0x) Parseint ("" A1 "", 16) // 161 (tu jasne označuje číslovací systém) Parseint ("0xA1") // 161 (správny formát 16-riche, Nemôžete zadať druhý parameter) Parseint ("" 099 "") // 0 (dôležité !!! Číslo je vnímané ako OCAL, ale obsahujúce neplatné znaky) Parseint ("" 0,5E6 ") // 0 (dôležité! NEPOUŽÍVAJTE AKO PRACOVNÍKA PRAVDA PRAVIDLOSTI) Parseint ("" ZZ "", 36) // 1295 Parseint ("" - FF "") // Nan Parseint ("" - FF "", 16) // -255

Ak spracujete údaje z textové poleTo vstúpi do používateľa, vždy používajte Parseint () spolu s druhým parametrom radixu, bude chrániť váš kód pred neočakávanými výsledkami.

V Javascriptovi existujú 2 vstavané funkcie na konverziu radov v číslach: Parsefloat () a Parseint ().

parsefloat () berie argumentáciu reťazec, ktorý musí byť uvedený na číselný typ, a vráti počet typov typu. Číslo by malo byť obsiahnuté na začiatku riadku. Ak po čísle v riadku stále niektoré znaky, potom odrezali. Frakčná časť čísla by mala byť zaznamenaná cez bod (čiarka nie je vnímaná ako separátor). V prípade, že Parsefloat () nemôže konvertovať reťazec, vráti sa naN.

Funkcia môže tiež zvládnuť "Num N vynásobený 10 až 10 stupňov X", ktorý je v programovaní obvyklý, aby sa zaznamenal cez písmeno E, napríklad: 0,5E6 alebo 0,5E + 6. Titul môže byť tiež negatívny: 0,5E-6, ktorý je 0,5 x 10 ^ -6 alebo 0,5 / 1000000.

Parsefloat ("" 3,78 kg ") // 3.78 parsefloat (" "kg33" ") // nan parsefloat (" "0004.111" ") // 4.111 Parsefloat (ďalej len" 0x66 "") // PARSEFLOTTER ("". 5 " ") // 0.5 parsefloat (" "-. 5" ") // -0,5 parsefloat (" "0,5E6" ") // 500000 parsefloat (" 0,03E + 2 "") // 3 parseflikt ("" 3e--- 4 "") // 0.0003 parsefloat ("" - 3E-4 "") // -0.0003

Funkcia Parseint (reťazec [Radix]) berie reťazec ako prvý argument, analyzuje ho a vráti celé číslo (typové celé číslo). Funkcia sa snaží analyzovať systémový systém, v ktorom je číslo zaznamenané v zdrojovej linke (napríklad desatinné, oktálne alebo hexadecimálne - ale nielen tieto). Tiež, číselný systém môže byť špecifikovaný explicitne prechodom podľa druhého parametra Radix. Parameter Radix môže mať ľubovoľné číslo od 2 do 36 (v systémoch nad 10, sa používajú písmená anglickej abecedy, od A po Z).

Čísla Typ 1.5E6 Funkcia neobnovuje ako parsefloat ().

Prečítajte si nižšie uvedené príklady, aby sa na úskalia umiestnili, používajú sa v prevádzke funkcie Parseint ().

Parseint ("" "25" ") //25 Parseint (" "- 25" ") // -25 parseint (" "45.12" ") // 45 Parseint (" 045 "", 10) // 45 Parseint (" 70 ", 8) // 56 (70 v Okomatovom systéme Je 56 v desatinnom systéme) Parseint (" "070") // 56 (DÔLEŽITÉ !!! ZEROUNOSTIVEJNOSŤ PRVÁ FUNKCIA NA ANALY ANALYZUJÚCEHO POTREBU Parseint ("" "88", 8) // Nan (v Okomatický systém No číslica 8) Parseint ("" A1 ") // NAN (DÔLEŽITÉ !!! Predvolená funkcia nevedie číslo ako 16-bohatý, Ak nie je pridávať na začiatočnom riadkoch 0x) Parseint ("" A1 "", 16) // 161 (tu jasne označuje číslovací systém) Parseint ("0xA1") // 161 (správny formát 16-riche, Nemôžete zadať druhý parameter) Parseint ("" 099 "") // 0 (dôležité !!! Číslo je vnímané ako OCAL, ale obsahujúce neplatné znaky) Parseint ("" 0,5E6 ") // 0 (dôležité! NEPOUŽÍVAJTE AKO PRACOVNÍKA PRAVDA PRAVIDLOSTI) Parseint ("" ZZ "", 36) // 1295 Parseint ("" - FF "") // Nan Parseint ("" - FF "", 16) // -255

Ak zvládnete údaje z textového poľa, ktoré vstupuje do používateľa, vždy používajte Parseint () spolu s druhým parametrom Radixu, bude chrániť váš kód pred neočakávanými výsledkami.