Ahoj, potrebujem sa spýtať pre niekoho možno hlúpu otázku..:
Prečo, ak za a aj b napíšem 5, tak a+b = 55 a nie 10 ?
var a =prompt()
var b =prompt()
alert(a + b)
Teda tipujem, že tú 5 berie ako text, nie ako číslo.
A otázka je, ako docieliť to, aby bol výsledok a+b matematický ?
Snáď chápete, čo sa pýtam..
Ďakujem
(Snáď) Jednoduchý problém v JavaScripte Vyřešeno
Re: (Snáď) Jednoduchý problém v JavaScripte Vyřešeno
Tvůj tip je správný, načítáš řetězec, který musíš před počítáním zkonvertovat na číslo:
Je dobré zadat defaultní hodnotu, která se načte pokud uživatel nic nevloží, abys výsledek neměl NaN.
Podle toho jestli budeš pracovat s celými nebo reálnými čísly použij příslušnou převodní funkci:
Kde radix je základ číselné soustavy ve které převádíš, v rozsahu 2-36, ale s tou naší desítkovou snad zatím vystačíme.
Samozřejmě to můžeš zkrátit a ušetřit pár proměnných za cenu menší přehlednosti:
Bacha na závorky v tom alert(), ať to sečteš dřív než se to převede zpět na text!
A protože je JavaScript odvozený z jazyka C, tak je minimálně slušnost ty středníky na konci řádků dělat, nikdy nevíš kdy tvůj skript v nějakém novějším prohlížeči přestane fungovat, on i HTML5 proti staršímu HTML také určité dřív tolerované chyby bere přísněji, a některé prasecky napsané weby se v něm prostě nezobrazují.
Kód: Vybrat vše
<script>
var s1 = prompt("1. číslo:","0");
var s2 = prompt("2. číslo:","0");
var a = parseInt(s1,10);
var b = parseInt(s2,10);
var c = a + b;
alert("Součet: "+c);
</script>
Je dobré zadat defaultní hodnotu, která se načte pokud uživatel nic nevloží, abys výsledek neměl NaN.
Podle toho jestli budeš pracovat s celými nebo reálnými čísly použij příslušnou převodní funkci:
Kód: Vybrat vše
parseInt(string, radix);
parseFloat(string,radix);
Kde radix je základ číselné soustavy ve které převádíš, v rozsahu 2-36, ale s tou naší desítkovou snad zatím vystačíme.
Samozřejmě to můžeš zkrátit a ušetřit pár proměnných za cenu menší přehlednosti:
Kód: Vybrat vše
<script>
var x = parseInt(prompt("X:","0"),10);
var y = parseInt(prompt("Y:","0"),10);
alert("Součet: "+(x+y));
</script>
Bacha na závorky v tom alert(), ať to sečteš dřív než se to převede zpět na text!
A protože je JavaScript odvozený z jazyka C, tak je minimálně slušnost ty středníky na konci řádků dělat, nikdy nevíš kdy tvůj skript v nějakém novějším prohlížeči přestane fungovat, on i HTML5 proti staršímu HTML také určité dřív tolerované chyby bere přísněji, a některé prasecky napsané weby se v něm prostě nezobrazují.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: (Snáď) Jednoduchý problém v JavaScripte
Ďakujem Ti pekne :)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 4
- 3383
-
od lukas222
Zobrazit poslední příspěvek
05 lis 2024 13:36
-
- 4
- 4015
-
od petr22
Zobrazit poslední příspěvek
28 lis 2024 10:06
-
- 11
- 4779
-
od RIKI22
Zobrazit poslední příspěvek
06 dub 2025 20:42
-
- 4
- 2557
-
od Shokata88
Zobrazit poslední příspěvek
19 úno 2025 19:18
-
- 1
- 4630
-
od meda2016
Zobrazit poslední příspěvek
31 led 2025 21:50
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů