Diskuze: Převod string na number
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 15 zpráv z 15.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Musíš obě čísla převést funkcí parseInt:
var vysledek = parseInt(PrvniCislo, 10) + parseInt(DruheCislo, 10);
Ta 10 je soustava, je nepovinná, ale občas dokáže JS zmást formát čísla.
Použij konstruktor Number() ... do něj předej tu navrácenou hodnotu ... vrátí se ti číslo... ohledně toho odčítání... pokud odečteš "9" - "4" tak se provede konverze pomocí metody valueOf() to samé násobení a dělení... není to tedy nic jiného než standardní chování dynamického jazyka ...
Taskill můžeš to prosím rozvést? Jak přesně mám použít konstruktor Number()? Mám udělat Number(PrvniCislo); a od té chvíle je v proměnné PrvniCislo hodnota typu number nebo jak to je?
Můžeš udělat buď Number(PrvniCislo), což ti vyhodí hodnotu
primitivního typu number.
Pokud uděláš new Number(PrvniCislo), pak ti to vrátí wrapper na primitivní
typ number.
Je úplně jedno, co použiješ, akorát ve druhém případě získáš objekt
s nějakými pomocnými metodami s prací s tím číslem.
Fajn, mám to. Vyzkoušel jsem obě možnosti,první možnost pomocí Number() a možnost, kterou tu nastínil Filip ParseInt(). Fungují obě dvě, proč použít kterou? Je v tom nějaký rozdíl, když je použiju? Zatím to vypadá, že obě dělají to samé... Přijde mi ale nelogické, aby byly v JS dvě možnosti jak udělat jednu věc...
var cislo = Number(prvniCislo);
Od teď je v cislo, číslo a ne string. Hele můžeš použít parseInt() a můžeš použít Number() oboje má svoje plus a mínus... parseInt třeba má to chování že když parsujes string "123-$;" tak ti vrátí v pohodě číslo ... tu část kterou ten string začíná.. Number udělá objekt s něčím navíc, ale když mu dáš string s tímhle bordelem tak to neprojde ...
JS má spoustu nelogických zákoutí 
Ještě bych dodal, že parseInt si třeba neporadí s vědeckou notací. takže
když mu podstrčíš 1e8, tak ti vyhodí 1 a ne 100000000, což by udělal
Number. Pokud by jsi chtěl dělat kalkulačku, tak se hodí spíš Number,
protože parseInt se může někdy chovat neočekávaně.
1e8 nevím co je ani já, takže tohle mu laskavě odpouštím
Ne, teď vážně, díky za
radu. Asi si někdy zjistím o těchto dvou možnostech víc ať vím, kdy
kterou použít a tak, to už si vygooglím 
Ještě dodám že Number udělá objekt pokud použiješ new Number() ...pokud zavoláš jen Number jak jsem to ukázal...tak se neudělá novej objekt pouze se proparsuje hodnota a proměnná je typu number ... pokud opět zadas string s bordelem tak to neprojde dobře ... respektive hodnota bude NaN
Já bych neřekl že je nelogický.. protože ono to skoro všechno zapadá do pravidel toho jak je navržen... i tohle je naprosto logický, když víš jak to uvnitř funguje.
Věci co tam nedávají smysl tam ale taky jsou, jen nejsou podle mě tak snadno vidět.
Já to běžně dělám následovně:
var a = '3.8';
var b = '1e8';
var result = (+a)+(+b);
console.log(result); //100000003.8
Takže to + vlastne nahradí Number(). Je to tak?
Ano, tím se proměnná přetypuje na číslo.
Zobrazeno 15 zpráv z 15.
