JavaScript átalakítása a számban a karakterláncban. JavaScript: Adat típusátalakítás

A JavaScript a legszélesebb nyelv (pontosabban, gyengén beírva vagy dinamikusan gépelt). Ez azt jelenti, hogy nem adhatjuk meg a változó típusát, amikor bejelentették. Az inepózis biztosítja a JavaScript rugalmasságot és az egyszerűséget, amelyet a szkriptnyelv előnyben részesítenek (bár ezek a funkciók a szigorú és összetettebb programok miatt fontosnak tartják a szigorúbb nyelvekre, például a C vagy a Java-ra írt hosszú és összetettebb programokat. A rugalmas munka fontos jellemzője az adattípusokkal a JavaScriptben a tolmács által végzett automatikus adatátalakítások. Például, ha a document.write () módszer kerül továbbításra, a JavaScript automatikusan átalakítja azt egyenértékű karakteres ábrázolása. Hasonlóképpen ellenőrzi a string értéket az IF utasítás feltétele, JavaScript automatikusan átalakítja ezt a fonalat egy logikai értéket - HAMIS, ha a húr üres, és egyébként igaz.

A fő szabály az, hogy ha az érték az egyik típusú környezetében valósul meg, ha az érték valamilyen más típusú van szükség, JavaScript automatikusan megpróbálja átalakítani az értéket a kívánt módon. Ezért például a kontextusban, amely logikus változót feltételez, a számot logikai értékre alakítják át.

A karakterlánc kontextusában található objektum a karakterláncra alakul. A JavaScript numerikus kontextusában való rögzítés próbál a számra konvertálni.

Konverzió "Elemi típusú objektum"
Például logikai kontextusban az alábbi objektumok igazakká alakulnak:

Új Boolean (FALSE) // belső értéke Hamis, de az objektum
// igazat átalakított
Új szám (0)
Új string (")
Új tömb ()

Az objektumok átalakítása a számban kezdődik az objektum értéke () módszerének hívásával. A legtöbb objektum örökölje szabványos módszer Érték () osztályobjektum, amely egyszerűen visszaadja az objektumot. Mivel a standard értéke () módszer nem ad vissza az elemi értéket, a JavaScript ezután megpróbálja átalakítani az objektumot egy számra, ha a tóslemez () módszert és a kapott karakterláncot konvertálja. A tömbök esetében ez érdekes eredményekhez vezet. Emlékezzünk vissza arról, hogy a tostring () módszer átalakítja a tömb elemeit a karakterláncba, majd visszaadja a sorok összekapcsolódásának eredményét vesszővel együtt. Következésképpen az elemek nélküli tömb egy üres karakterláncgá alakul át, amely 0-ra változik! Ezenkívül, ha a tömb egy elemből áll, az N szám, a tömböt a szám karakterlánc-ábrázolásává alakítják át, amelyet ezután az N számra átalakítanak.

Ha egy tömb több elemet tartalmaz, vagy ha egyetlen eleme nem szám, akkor a tömb NAN-ra alakul. A JavaScriptben a kontextus nem mindig egyértelműen határozható meg! A kezelő + és az összehasonlító üzemeltetők (és\u003e \u003d) mind számokkal és húrokkal együtt dolgoznak, így ha az objektumot az egyik ilyen operátorral használják, akkor nem világos, hogy mit kell átalakítani egy számra vagy egy karakterláncba. A legtöbb esetben a JavaScript először megpróbálja konvertálni egy objektumot az érték () módszerének hívására. Ha ez a módszer visszaadja az elemi értéket (általában a számot), ezt az értéket használják. Azonban gyakran értéke () egyszerűen csak egy objektumot ad vissza konverzió nélkül; Ebben az esetben a JavaScript ezután megpróbálja konvertálni egy objektumot a karakterlánchoz a TOSTRING () módszerhívás segítségével. A konverziós szabálynak csak egy kivétele van: ha a dátum objektumot a + operátorral használja, akkor az átalakítást a TOSTRING () módszerrel végezzük. Ennek a kivételnek a létezése annak a ténynek köszönhető, hogy a dátumnak mind a tostring () módszer és az érték) módszere van. Ha a dátumot használja a kezelővel + szinte mindig szükséges egy karakterlánc-összekapcsolást. De ha a dátum részt vesz az összehasonlító műveletekben, akkor szinte mindig szükséges számszerű összehasonlítás elvégzéséhez annak meghatározása érdekében, hogy a két időpont közül melyiket megelőzzék.

A legtöbb objektum, vagy nincs a Valueof módszer (), vagy ez a módszer nem tér vissza hasznos eredményeket.

Ha a kezelőt az objektumhoz használják, a sztring összefoglalás általában történik, és nem add el. Amikor az összehasonlító kezelőt az objektumra alkalmazzák, általában egy karakterlánc-összehasonlítást végeznek, nem pedig numerikus.

Objektum meghatározó speciális módszer Érték () másként viselkedhet. Meghatározva a valueOf () metódus, visszatérve a számot, akkor lehet alkalmazni a számtani és egyéb nyilatkozatok a tárgy, de kiegészítve a tárgy kerül végrehajtásra nem várható: a toString () metódus már nem hívják, és egy sor ábrázolása A módszer által visszaadott szám részt vesz a concatenation értékben ().

Végül ne feledje, hogy a vértes () módszer nem nevezhető tonumber (), szigorúan szólva, annak feladata, hogy egy objektumot értelmes elemi értékre konvertálja, így egyes objektumok értéke lehet a sorok visszatérő () módszerei.

Explicit konverziós típusok
A Java-Script nem határozza meg az átalakítási operátort C, C ++ és Java nyelven, hanem hasonló eszközöket is tartalmaz. A Javascript 1.1 (és az ECMA-262) szám (), a logikai (), a string () és az objektum () nemcsak tervezőként, hanem funkcióként is nevezhető. Hogy ilyen módon okozzák ezeket a funkciókat
Érvek a megfelelő típusban. Például, akkor konvertálni minden x értéket a húr segítségével String (x) és minden Y értéke egy tárgy segítségével Object (Y).

A kifejezett típusú átalakulások elvégzéséhez számos további technikát hasznos lehet. Annak érdekében, hogy egy értéket egy karakterláncra konvertáljunk, tegyük egy üres karakterláncot:

Var x_as_string \u003d x + "";

Az érték egy számra történő konvertálásához levonja a nullát:

Var x_as_number \u003d x - 0;

Lehetséges, hogy bármilyen értéket átalakíthatunk logikai értékre a kezelővel, kétszer alkalmazva:

Var x_as_boolean \u003d !! x;

A JavaScript tendencia miatt az adatok automatikus átalakítása a szükséges ebben a pillanatban Típus, explicit konverziók általában nem szükségesek. Előfordulhat, hogy alkalmanként hasznosak, és alkalmazhatók arra, hogy a program világosabbá és pontosabbá tegye.

Számok átalakítása a karakterláncban
A számok számát a karakterláncban a JavaScript esetben, esetleg gyakrabban, mint mások. Bár általában automatikusan történik, számos hasznos módja van az ilyen jellegű kifejezetten átalakításhoz. Két már láttuk:

Var slow_value \u003d string (szám); // a string tervező () használatával
// függvényként
VAR STRING_VALUE \u003d SZÁM + ""; // Concatenation egy üres karakterlánc

Egy másik lehetőség biztosítja a módszert ():

STRING_VALUE \u003d NUMBER.TOSTRING ();

A számobjektum tosstring () módszere (az elemi numerikus értékek számobjektumokká alakul, így hívhatja ezt a módszert) Elfogad egy opcionális argumentumot, amely meghatározza a számrendszer alapját, amelyhez az átalakítás végrehajtásra kerül. Ha az argumentum nincs megadva, az átalakulás végezzük bázis 10. De tudod alakítani számokat más bázisokkal (a 2 és 36). Például:

Var n \u003d 17;
binary_string \u003d n.Tostring (2); // egyenlően "10001"
Oktal_string \u003d "0" + n.Tostring (8); // egyenlően "021"
hex_string \u003d "0x" + n.Tostring (16); // egyenlően "0x11"

A JavaScript verziók hiánya az 1.5-ös verzióra hiányzik szabványos divatamely lehetővé teszi, hogy meghatározza a tizedes jelek sorában eredő átalakulás a számot, vagy nincs szükség az exponenciális jelöléssel. Ez bonyolíthatja a hagyományos formátumú számok megjelenítését, például a készpénzértékeket.

ECMAScript V3 és JavaScript 1.5 bypass ezt az akadályt hozzáadásával három új átváltási módszer a sort a Number osztály. A Tofixed () módszer átalakítja a számot a húr és megjeleníti a megadott számú számok után a tizedespont használata nélkül exponenciális jelöléssel. A toexponential () metódus átalakítja a számot a húr, a felvétel azt hatványalak egy számjegyet a tizedespont előtt és meghatározott számú számok után. A toprecision () módszer egy számot jelenít meg a megadott számjegyű számmal. Ha ilyen jelentős számjegy nem elég ahhoz, hogy a szám teljes részét adja ki, akkor az exponenciális jelölésben rögzítve. Kérjük, vegye figyelembe, hogy mindhárom módszer helyesen kerekítve a kapott vonalat. Nézze meg a következő példákat:

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

Soros konverzió számokban
Láttuk, hogy a számok számszerű kontextusában a számok képviselői automatikusan valós számokká alakulnak át. A fentiek szerint ez a konverzió kifejezetten:

Var szám \u003d szám (STRING_VALUE);
Var szám \u003d STRING_VALUE - 0;

Az ilyen átalakulás túlzott szigorúság miatt kényelmetlen. Csak akkor működik decimális számokÉs bár az átalakítás lehetővé teszi a vezető és záró tereket, nem teszi lehetővé a nem jelzett karakterek számát a sorban lévő szám után. Rugalmasabb átalakítások esetén a PARSEINT () és a ParseFloat () funkciókat használhatja. Ezeket a funkciókat átalakult, és visszatért bármennyi jelen elején a sor, figyelmen kívül hagyva a záró nem numerikus karaktereket. A Parseint () függvény folyamata csak egész számot, és a parsefloat () mind az egész számok, mind a lebegőpontos számok. Ha a karakterlánc "0x" vagy "0x", parseint () értelmezi, hogy hexadecimális számként értelmezi. Például:

Parseint ("3 vak egerek"); // visszatér 3.
ParseFloat ("3,14 méter"); // visszaadja a 3.14.
Parseint ("12.34"); // visszatér 12.
Parseint ("0xff"); // 255 visszatér.

A Parseint () függvénynek van egy második argumentuma, amely jelzi a feldolgozott szám számának alapját. Érvényes értékek - 2-től 36-ig. Például:

PARSEINT ("11", 2); // visszatér 3 (1 * 2 + 1)
PARSEINT ("FF", 16); // visszatérítés 255 (15 * 16 + 15)
PARSEINT ("ZZ", 36); // visszatérítés 1295 (35 * 36 + 35)
PARSEINT ("077", 8); // visszatér 63 (7 * 8 + 7)
Parseint ("077", 10); // visszatérítés 77 (7 * 10 + 7)

Ha a Parseint () és a ParseFloat () nem tudja átalakítani a megadott karakterláncot a számra, akkor visszatérnek Nan.

PARSEINT ("Eleven"); // visszaadja a NAN-t.
ParseFloat ("$ 72.47"); // visszaadja a NAN-t.

Nincs különbség a változó milyen típusú változóban. Ha a kifejezés matematikai, az összes változó automatikusan numerikusként értelmezhető. Ha a vonalak feldolgozásra kerülnek, akkor a kifejezések összes "résztvevője" vonalaknak tekinthető. Azonban az átalakítási feladat a JavaScript "Sorhoz a számhoz" sokkal szélesebb kontextusban létezik.

JavaScript módszerek a sorok átalakítására

Az arzenális módszerek a számok számában történő átalakítására nem nagyok, de minden egyszerű esetben elegendőek. Itt a JavaScript (a kezdőknek különösen) az az út az egyszerű és összetett gyakorlati példákban.

A példa négy különböző vonalat ír le. A kimeneti típus első blokkjában változó funkció A típusú típus karakterláncként történik. Ezután minden sor nagyon egyszerűen átalakul a számra. A második kimeneti blokkban a változók változásai az átalakulás láthatóak, a típusuk számra vált. A Javascript paraseFloat konverziós példa különösen az indikatív: "12e + 3" volt, "12000" lett.

A karakterláncok számának átalakításakor változások jelentősek lehetnek! De csak az első karakterek fontosak: digitálisnak kell lenniük. Ha nincs egyetlen digitális szimbólum, az eredmény NAN lesz.

A karakterlánc fordított átalakítása a számmal a számmal nem mindig ugyanaz a karakterlánc. Ez a pillanat arra használható, hogy ellenőrizze a numerikus információk beírásának helyességét.

Hagyományos transzformációs módszerek

Vannak egész számok, és vannak frakcionált, illetve a JavaScript sor a számra konvertálja:

  • parseint;
  • parseFloat.

Az általános ügyet egy egyszerű matematikai kifejezésű karakterlánc használatával hajtják végre.

Elég ahhoz, hogy a "+" szimbólumsütés előtt helyezzük el, és ha van egy szám, a kifejezés eredménye lesz a szám. A változó értéke megváltozhat, de a típus mindig megváltozik: a Typeof megmutatja a számot, nem karakterláncot. Fontos megérteni, hogy a használata a transzformált változó vonal kifejezés tudja mutatni egy teljesen más eredményt.

JavaScript a kezdőknek ebben az összefüggésben rendkívül egyszerű. Nehéz megérteni a Pasrseint módszer által az egész egész számának munkáját, mivel a gépben működik tizedes rendszer Szám, de értelmezheti a karakterláncot oktális vagy hexadecimálisként. Ebben az esetben ez a körülmény nem függ a második paramétertől, amely jelzi a számrendszert.

JavaScript sor a számhoz mindig fordul, de ha nincs digitális szimbólum a sorban a sor elején, akkor az eredmény NAN lesz.

Szükséges, hogy ötleteket a számrendszer, a nyilvántartási módszer hexadecimális (a szám kezdődik „0x”) és a nyolcas szám (a szám kezdődik: „0”).

A JavaScript módszer ParseFloat árnyalatának megértése érdekében elég ahhoz, hogy a matematikai rekord valós szám.

Átalakítás

A Javascript böngészőnyelv, mert más nyelvek kritikusak a latin ábécé fő készletén kívüli szimbólumok közül. Rendezés - túlélte a műveletet. De nem mindig van értelme adatot küldeni a kiszolgálónak válogatási célokra, könnyebben és praktikusabban dolgozni a böngészőben.

Az ilyen feladat megoldásához a karakterlánc szimbólumokat konvertálhatja numerikus kódjaikba, vagy rendelt számokat rendelhet a számkódokban vagy a számjegyben és a számjegyben. A karakterláncra alkalmazott charcodeat () módszer hozzárendel egy 98 számértéket az IB változó, vagyis a "B" betűkód. Figyelembe véve, hogy az "A" betű kódjának értéke 97, megkaphatja a latin ábécé összes betűjét növekvő sorrendben a vonal és a nagybetűs sorrendben. Hasonló az orosz ábécé betűjeihez.

Saját rendezési változat a számokon keresztül lehetővé teszi a kívánt karakterkészletek létrehozását. Lehetséges például, hogy "lehallgatják" cirill és latin, és keverjük össze, hogy csak kiváló írási betűket hagyjanak, adjunk hozzá a fülek és a terek készletéhez.

Egyedülálló számú karakterlánc kialakítása

Ha az "A" betűkód 97, akkor a levél és a 97 szám közötti különbség az ábécé egyedi számát adja meg. Összefoglalva egyedi számokat az egyes sorok szimbólumaihoz, nehéz a karakterlánc egyedi számát kapni.

Ha a karakterláncban lévő betű minden pozíciója súlyt kap, például pozíció:

  • 0 súly 1;
  • 1 súly 10;
  • 2 súly 100;

a karakterlánc mindegyik karakterének egyedi számát szorozza a kimutatott pozíció súlyára, és az összes szám összegzésével egyedi számot kaphat, és az eredeti vonalon egyértelmű levelezésként használhatja.

Az ilyen sor konverzió reverzibilis, vagyis a számmal mindig megkaphatja a forrásvonalat. Egy ilyen átalakítás előnyös, mert számos tudod, hogy minden műveletet biztonságosan keretében kódolás, cirill és más helyi jellemzői a site oldalt, alkalmazási terület, látogató országokban.

"Növekvő" webhely-szelektorok

Gyakran előfordul, hogy a helyszíneken lévő választók létrehozásának feladata, amelyek értékei nem adhatók meg előre, de idővel kiegészítik. Az első alkalmazásban egy üres választó elérhető az első látogató számára, hogy megadja az információkat.

Minden új bejegyzés az információs vonalak a választó (bármely látogató) átalakul a számot, amely együtt az eredeti, küldött a szerverre. Amikor egy új munkamenet kezdődik, vagy egy új látogató jön, a választó már nem üres. A letöltési oldal a böngészőhöz nem üres választóval rendelkezik.

Minden új választók értékével csak akkor megy a tárolószerverhez, és csak akkor, ha egy egyedi digitális kódot rendel hozzá.

A feladat megoldásához a JavaScript módszer nem használható sor használatához. A szokásos parseint és parseFloat módszereket más felhasználásra tervezték, de egy algoritmussal jöhet létre a szám egy egyértelmű átalakításához, és nem feltétlenül reverzibilis. Elég, hogy a konverziós algoritmus algoritmus nem ismétlődik különböző karakterkészletekben a sorban.

Forgalom optimalizálás és elemzés

Az oldal kialakításakor a fejlesztő jelentős mennyiségű információt használ. Adjon meg egy látogatót az információ megadásához - jó út A Site minősítés csökkentése gyenge funkcionalitásának és a látogatónak köszönhetően.

Eseménykezelő hozzárendelése JavaScript funkció formájában a látogató műveleteihez bizonyos információs blokkok esetében olyan szűrőt fogalmaz meg, amely lehetővé teszi a látogató számára, hogy pontosan elérje a célt, megtalálja szükséges információ, Szerezd meg a kívánt megoldást.

A kisbetűs információk átalakítása itt önkényesen tágas lehet a vonal részében, és nagyon kicsi a számban. Más szóval, a JavaScript sor átalakítása a fejlesztő számához az algoritmus szerint történik. A látogató manipulálja az érthető információkat, és a kiszolgálónak minimális adatai - egy szám.

A dinamikája sok számok minden látogató keretében pontosan ismert az információ lehetővé teszi egy másik JavaScript funkció (nem kezelő), az úgynevezett szerver segítségével az AJAX mechanizmust, azonnal valós idejű, így minden látogató a szükséges információkat ugyanabban az időben. Tehát a rendszer működik.

Ez a lehetőség a JavaScript sor konvertálására nagyon igény szerint az online játékok, az interaktív konferenciák, az átadás azonnali üzenetek stb.

A transzformációk szerszám használata

JavaScript és CSS a feldolgozás keretében számszerű információk Engedje meg, hogy kezelje az oldal kijelzését a szerver részvétel nélkül. A CSS szabályai rekurzva vannak, rekurzívan. Általában a paraméter a szám, amelyet több betű (például "px", "pt", "em", ...) követ. A paraméter a szabályban lévő foglalat, és a szabály egy osztályba vagy azonosító stílusába kerül egy szubsztrolba.

RECURSION Javascript.Strete. A szerkezet ... a kívánt számra megy, átalakítja a karakterláncot a számra, megváltoztatja, és visszaírja a kívánt helyre. A szabály megváltoztatja a "gépet". Ez egyszerű és kényelmes, nincs szerver részvétel.

A karakterlánc JavaScript-ra történő átalakításának két fő módja van. Az egyik módja az, hogy elemezzük, és más módon - módosítsa a típusát a számra. Minden trükkök más válaszok (például UNARY Plus) implicit kényszer, mint egy karakterlánc a számra. Ugyanezt teheti a számfunkcióval is.

Szintaktikai

Var elemzett \u003d parseint ("97", 10);

a Parseint és a ParseFloat két funkció, amelyet a sorok számokba történő elemzéséhez használnak. A szintaxiselemzés csendben leáll, ha olyan szimbólumba esik, hogy nem ismeri fel, hogy hasznos lehet a sztringek szintaktikai elemzéséhez, például a "92px", de ez is kevésbé veszélyes, mert nem ad semmit rossz Belépés, ahelyett, hogy "visszaadja a NAN-t, ha a karakterlánc nem kezdődik el a számmal. A vonal elején a vonalat figyelmen kívül hagyják. Itt van egy példa arra, hogy mit csinál valami másképp, amire szüksége van, és nem jelzi, hogy valami elment rossz:

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

A jó gyakorlat mindig második érvként jelzi. A régi böngészőkben, ha a húr kezdődött 0, akkor kell értelmezni, nyolcas, ha nem érték által meghatározott Radix, ami vonzott sok embert meglepetésként. A hexadecimális indításhoz való viselkedés akkor kezdődik, ha a karakterlánc 0x-vel kezdődik, ha a radix érték nincs megadva. 0xff. A szabvány valójában megváltozott az Ecmascript 5 használatával, így modern böngészők Már nem fut oktális, ha a gazdagép jelzi, ha a radix érték nincs megadva. A Parseint a 36 alaptestre mutató radikát érti, és ebben az esetben mind a kis-, mind a kisbetűk egyenértékűek.

String típusváltozás szám szerint

A fentiekben említett összes többi trükköt, amely nem használja a parseint, azt jelenti, hogy implicit kényszeríti a karakterláncot a számra. Én inkább egyértelműen csinálom

Var öntött \u003d szám ("97");

Ez különbözik az elemzési módszerektől (bár még mindig figyelmen kívül hagyja a szóközöket). Szigorú: Ha nem érti a teljes vonalat, mint a NAN-hoz, így nem használhatja a 97px típusú húrokra. Mivel primitív számra van szüksége, nem a szám wrapper objektum, győződjön meg róla, hogy a szám funkció előtt nem állítja be az újat.

Nyilvánvaló, hogy az átalakítás a számot ad egy értéket, amely lehet Float, és nem egész szám, ezért ha azt szeretnénk egész, meg kell változtatni. Számos módja van:

Var rounded \u003d Math.Floor (szám ("97.654")); // Egyéb opciók Math.ceil, math.round var fix \u003d szám ("97.654"). Tofixed (0); // kerekített, nem pedig csonkolt var bitwised \u003d szám ("97.654") | 0; // NE használja nagyszámú

Bármely keserű operátor (itt vagyok áldás vagy, de kettős negációt is készíthetsz, mint egy korábbi válasz vagy bitváltás során) az értéket egy 32 bites egész számra konvertálja, és legtöbbjük átalakul egy aláírt egész számra. Ne feledje, hogy ez Nem lesz szüksége nagy egész számokra. Ha egy egész számot 32 bitben lehet ábrázolni, akkor befejeződik.

~~ "3000000000.654" \u003d\u003d\u003d-1294967296 // Ez ugyanaz, mint a szám ("3000000000.654") | 0 "3000000000.654" \u003e\u003e\u003e 0 \u003d\u003d\u003d 3000000000 // Unúvallott jobb váltás ad egy extra bit "300000000000.654"\u003e \u003e\u003e 0 \u003d\u003d\u003d 3647256576 //, de még mindig nagyobb számokkal nem sikerül

A nagy számokkal való megfelelés érdekében kerekítési módszereket kell használnia

Math.Floor ("3000000000.654") \u003d\u003d\u003d 3000000000 // Ez ugyanaz, mint a Math.Floor (szám ("3000000000.654)))

Ne feledje, hogy mindezek a módszerek megértik az exponenciális jelölést, ezért 2e2 200, és nem NAN. Ezenkívül a szám megérti az "Infinity" -t, míg az elemzési módszerek nem.

Egyedi

Helytelen, hogy ezek közül bármelyik ilyen módszer pontosan mit akar. Például szükségem van egy olyan hiba esetén, amely szintaktikai elemzési hiba, és nincs szükség végtelen támogatásra, kiállítókra vagy vezető résekre. A használatától függően néha van értelme a felhasználói konverziós funkciót.

Mindig ellenőrizze, hogy a szám vagy az elemzési módszerek száma az Ön által elvárható szám. Majdnem biztosan szeretné használni az ISNAN-t, hogy megbizonyosodjon arról, hogy a szám nem NAN (általában ez az egyetlen módja annak, hogy megtudja, hogy a szintaxiselemzés sikertelen).

A JavaScriptben 2 beépített funkció van a sorok soraiban: parsefloat () és parseint ().

a ParseFloat () az argumentumot egy olyan karakterláncot veszi fel, amelyet numerikus típushoz kell hozni, és visszaadja az úszási típus számát. A számot a vonal elején kell elhelyezni. Ha a sorban lévő szám után még mindig vannak néhány karakter, akkor levágták. A szám frakcionált részét a ponton keresztül kell rögzíteni (a vesszőt nem szeparátornak tekintik). A PARSEFFLOAT () esetekben nem konvertálhat egy sztringet, visszaadja Nan-t.

Továbbá a funkció képes kezelni a "NUM N-t 10-vel szorozva az x" fokozattal, amely a programozás során szokásos rögzíthető az E betűn keresztül, például: 0,5E6 vagy 0,5E + 6. A fokozat negatív lehet: 0,5E-6, amely 0,5 * 10 ^ -6 vagy 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

A parseInt (STRING [, RADIX]) funkció veszi a húr, mint az első argumentum, elemzi, és visszatér egy egész szám (Integer). A funkció megpróbálja elemezni a számrendszert, amelyben a számot a forrásvonalban rögzítik (például decimális, oktális vagy hexadecimális - de nem csak ezek). A számrendszert is kifejezetten megadhatja, ha a második Radix paraméterrel átadja. A RADIX paraméter bármilyen számot 2-36 (rendszerek felett a 10., a betűk az angol ábécé használnak, A-tól Z-ig).

Az 1.5E6 típusú számok A funkció nem kezelhető parsefloat ().

Kérjük, olvassa el az alábbi példákat úgy, hogy ne tegye a buktatókat, a PARSEINT () funkció működésébe kerül.

PARSEINT ("25" ") // 25 parseint (" "- 25" ") // -25 parseint (" "45.12" ") // 45 parseint (" 045 "", 10) // 45 parseint (" 70 ", 8) // 56 (70 az oktális rendszerben 56 decimális) PARSEINT (" 070 ") // 56 (fontos !!! nulla először kényszeríti a funkciót, hogy elemezze a karakterláncot, mint egy oktális számot) PARSEINT ("" 88 "", 8) // NAN (az oktális rendszerben nincs számjegy 8) parseint ("A1") // NAN (fontos! Az alapértelmezett funkció nem érzékeli a számot 16 gazdag, Ha nem adja hozzá a 0x-es sorokat a 0x) Parseint ("A1" ", 16) // 161 (itt egyértelműen a számrendszer) parseint (" 0xa1 ") // 161 (a helyes 16-riche számformátum, Nem adhatja meg a második paramétert) PARSEINT ("099" ") // 0 (fontos! A számot oktálisnak tekintik, de érvénytelen karaktereket tartalmaz) parseint (" "0.5E6") // 0 (fontos! ! Nem működik parsefloat) PARSEINT ("ZZ", 36) // 1295 parseint ("" - FF "") // nan parseint ("- FF" ", 16) // -255

Ha adatokat dolgoz ki szövegmezőEz belép a felhasználóba, mindig használja a Parseint () a második radix paraméterrel együtt, megvédi a kódot váratlan eredményekből.

A JavaScriptben 2 beépített funkció van a sorok soraiban: parsefloat () és parseint ().

a ParseFloat () az argumentumot egy olyan karakterláncot veszi fel, amelyet numerikus típushoz kell hozni, és visszaadja az úszási típus számát. A számot a vonal elején kell elhelyezni. Ha a sorban lévő szám után még mindig vannak néhány karakter, akkor levágták. A szám frakcionált részét a ponton keresztül kell rögzíteni (a vesszőt nem szeparátornak tekintik). A PARSEFFLOAT () esetekben nem konvertálhat egy sztringet, visszaadja Nan-t.

Továbbá a funkció képes kezelni a "NUM N-t 10-vel szorozva az x" fokozattal, amely a programozás során szokásos rögzíthető az E betűn keresztül, például: 0,5E6 vagy 0,5E + 6. A fokozat negatív lehet: 0,5E-6, amely 0,5 * 10 ^ -6 vagy 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

A parseInt (STRING [, RADIX]) funkció veszi a húr, mint az első argumentum, elemzi, és visszatér egy egész szám (Integer). A funkció megpróbálja elemezni a számrendszert, amelyben a számot a forrásvonalban rögzítik (például decimális, oktális vagy hexadecimális - de nem csak ezek). A számrendszert is kifejezetten megadhatja, ha a második Radix paraméterrel átadja. A RADIX paraméter bármilyen számot 2-36 (rendszerek felett a 10., a betűk az angol ábécé használnak, A-tól Z-ig).

Az 1.5E6 típusú számok A funkció nem kezelhető parsefloat ().

Kérjük, olvassa el az alábbi példákat úgy, hogy ne tegye a buktatókat, a PARSEINT () funkció működésébe kerül.

PARSEINT ("25" ") // 25 parseint (" "- 25" ") // -25 parseint (" "45.12" ") // 45 parseint (" 045 "", 10) // 45 parseint (" 70 ", 8) // 56 (70 az oktális rendszerben 56 decimális) PARSEINT (" 070 ") // 56 (fontos !!! nulla először kényszeríti a funkciót, hogy elemezze a karakterláncot, mint egy oktális számot) PARSEINT ("" 88 "", 8) // NAN (az oktális rendszerben nincs számjegy 8) parseint ("A1") // NAN (fontos! Az alapértelmezett funkció nem érzékeli a számot 16 gazdag, Ha nem adja hozzá a 0x-es sorokat a 0x) Parseint ("A1" ", 16) // 161 (itt egyértelműen a számrendszer) parseint (" 0xa1 ") // 161 (a helyes 16-riche számformátum, Nem adhatja meg a második paramétert) PARSEINT ("099" ") // 0 (fontos! A számot oktálisnak tekintik, de érvénytelen karaktereket tartalmaz) parseint (" "0.5E6") // 0 (fontos! ! Nem működik parsefloat) PARSEINT ("ZZ", 36) // 1295 parseint ("" - FF "") // nan parseint ("- FF" ", 16) // -255

Ha olyan szövegmezőből származó adatokat kezeli, amely belép a felhasználóba, mindig a PARSEINT () A második Radix paraméterrel együtt használja a kódot váratlan eredményekből.