Autor | Zpráva | ||
---|---|---|---|
jozef.dinda Profil |
#1 · Zasláno: 20. 1. 2013, 21:34:25
Ako napísať kód pre súčet premennej x a premennej y. Matematický operátor + spojí čísla. Potrebujem ich súčet. Kód:
<!DOCTYPE html> <head> <title>matematicke operacie 2</title> <script language="JavaScript"><!-- function delenie() { var t1 = document.getElementById("t1"); var t2 = document.getElementById("t2"); var t3 = document.getElementById("t3"); var t4 = document.getElementById("t4"); var t5 = document.getElementById("t5"); var t6 = document.getElementById("t6"); var x = t1.value; var y = t2.value; var z = x / y; var zsucin = x * y; t4.value = zsucin; var zsucet = x + y; t5.value = zsucet; var zrozdiel = x - y; t6.value = zrozdiel; if (isFinite(z)) {t3.value = z;} else {t3.value = "chyba";}} </script> </head> <body> <p> x:<input type="text" id="t1" name="t1"/> y:<input type="text" id="t2" name="t2"/> <input type="button" value="vypočítať" onclick="delenie();"/> </p> t3=x/y<p><input type="text" id="t3" name="t3" readonly="readonly"/></p> t4=x*y<p><input type="text" id="t4" name="t4" readonly="readonly"/></p> t5 = xy - spojí reťazce!!!!! =<p><input type="text" id="t5" name="t5" readonly="readonly"/></p> t6=x-y <p><input type="text" id="t6" name="t6" readonly="readonly"/></p> </body> </html> Ak za x dám napr. 8 a za y číslo 2 vypíše správne podiel 4, súčin 16, namiesto súčtu spojí do "reťazca" 82 a správne vypočíta rozdiel 6. Kde mám chybu? |
||
DarkMeni Profil |
#2 · Zasláno: 20. 1. 2013, 21:50:18
Jak říkáš, spojí to řetězce. Jestli to chceš sečíst, tak hodnoty z formulářových polí, které získáš metodou getElementById (jako řetězec), přetypuj na číslo přes parseInt nebo parseFloat jestli tam mohou být i desetinná čísla (šla by použít i knihovna Math, ale to je zbytečný).
Třeba změň řádek 12 a 13: var x = parseInt(t1.value, 10), y = parseInt(t2.value, 10); |
||
margin Profil * |
#3 · Zasláno: 20. 1. 2013, 21:53:16
Časté potíže, zajímavosti a poučné debaty » Součet čísel versus součet řetězců
Probírá se tam příčina a jsou tam i různá řešení. |
||
jozef.dinda Profil |
DarkMeni:
Ďakujem DarkMeni, počíta to. |
||
DarkMeni Profil |
#5 · Zasláno: 20. 1. 2013, 22:07:02
Vlastně, jak poslal margin ten odkaz, tak možná by bylo jedodušší kdybys to třeba vynásobil 1 nebo přičetl kladnou hodnotu (zápis by byl kratší a možná by se to vyhodnotilo o nějakou mikrovteřinu rychleji)
var x = +t1.value; //nebo var x = t1.value * 1 |
||
jozef.dinda Profil |
#6 · Zasláno: 20. 1. 2013, 22:19:28
DarkMeni:
OK. Super. |
||
Časová prodleva: 11 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0