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
Moderátor: Mods_senior
Re: (Snáď) Jednoduchý problém v JavaScripte
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>
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);
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>
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 :)
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek


