Autor | Zpráva | ||
---|---|---|---|
Gričman Profil * |
#1 · Zasláno: 18. 12. 2012, 14:27:41
Dobrý den,
Mám nasledovní kód: <script> var a = 555555555555555555; alert(a); </script> Avšak alert() mi pořád vyhazuje nasledovní hodnotu: 555555555555555600, proč je tomu tak? Vypadá to, že s takhle vysokýma hodnotama není možné pracovat. Existuje zpúsob jak možné dělat aritmetické operace i s tak velkými čísly? Kdybych z púvodné hodnoty odebral dvě pětky, tak aritmeticky je možné opět s číslem hezky narábět, ale bohužel o tomhle problému jsem se moc na internetu nedozvěděl. Osvětlení velmi vítáno... |
||
Joker Profil |
#2 · Zasláno: 18. 12. 2012, 14:48:14
Částečně to souvisí s Výsledkem výpočtu 1 - 0.9 není přesně 0.1.
O stejném problému jsem psal do PHP učebnice, jelikož zatím není do budoucna platný odkaz, zkopíruji sem příslušnou část textu. Když si odmyslíte, že příklady jsou v PHP a uvedená přesnost taky platí pro PHP, funguje to obdobně i v Javascriptu. var_dump(99*99); var_dump(9999999999*9999999999); $soucin = 99999999980000000000; $soucet = $soucin + 100; var_dump($soucin); var_dump($soucet) |
||
_es Profil |
Joker:
Neviem, ako to je teraz v návrhu textu učebnice, no mohlo by tam byť aj spomenuté, že v skutočnosti sa umocňuje 2 a nie 10 , z čoho vyplýva napríklad nemožnosť zapísať presne v takom spôsobe uloženia trebárs číslo 0,3 .
|
||
Časová prodleva: 19 dní
|
|||
Gričman Profil * |
#4 · Zasláno: 8. 1. 2013, 17:16:11 · Upravil/a: Gričman
Ok.. díky za odpovědi. Řekneme že máme event který zpúsobí,ze se naše proměnná a kterou jsem zapsal do prvního příspěvku inkrementuje o 1. Dá se to vúbec nějak šikovně, aby sa v rámci jedné proměnné dalo pracovat i s takhle velkými čísly? Jestli to možné neni, napadá mně jenom zpúsob, který by takhle velké číslo rozdělil do dvou číselných proměnných a následne by s nima dělal. Přijde mi to avšak velice nemotorné.
Zajímalo jaký postup by někdo z vás zvolil na práci s tak velkými čísly... |
||
_es Profil |
#5 · Zasláno: 10. 1. 2013, 22:20:14
Gričman:
„Zajímalo jaký postup by někdo z vás zvolil na práci s tak velkými čísly...“ Vymyslieť si vlastný formát čísel, na ktorý by boli použité existujúce fomáty čísel v danom programovacom jazyku a tiež funkcie na prácu s nimi - sčitovanie , násobenie, ... Otázne je, či je ti to vlastne treba a nejde len o nevhodnú prácu s existujúcim a dostatočným formátom čísel. |
||
Časová prodleva: 11 let
|
0