Autor | Zpráva | ||
---|---|---|---|
Morgoloth Profil * |
#1 · Zasláno: 30. 9. 2009, 15:46:55
Zdravím, měl bych pro někoho snad velmi triviální dotaz, ale nikde na netu jsem odpověď nenašel (už 3 hodiny hledání):
JAVASCRIPT mám uloženou nebo vypočítanou proměnnou, například pi=3,14159235359........... Ale do HTML kodu ji chci vypsat na určitý přesný počet desetinných míst, například 3,14, ví někdo, jak to udělat? prostě něco typu: d.writeln(pi[2]); (jakože chci vypsat "pi" na 2 desetinný místa :-) Díky za jakejkoliv rozumnej tip... |
||
_es Profil |
#2 · Zasláno: 30. 9. 2009, 16:42:45 · Upravil/a: _es
Zaokrúhlenie na dve desatinné miesta pre premennú x:
x1 = Math.round(x*100)/100; // koľko núl, toľko miest x2 = (Math.round(x*100)/100).toFixed(2); // to isté, len s doplnením prípadných koncových núl x3 = x.toPrecision(3); V tom druhom výpočte je funkcia round pre nekompatibilitu IE, inak by stačila len metóda toFixed. |
||
Morgoloth Profil * |
_es: Díky moc... potřeboval jsem právě hlavně doplnění koncových nul, aby se čísla hezky řadila a navíc vypadala jednotně. Docela jsem s tím bojoval, protože když jsem chtěl vypsal výsledek výpočtu, docela to blbnulo a musel jsem vzorce někdy dost nesmyslně uzavírat do závorek... ale jinak super, když už jsem věděl, jak se funkce jmenuje, prohnal jsem jí googlem a kdyby někdo někdy potřeboval něco podobnýho, návod je tady:
http://www.mredkj.com/javascript/numberFormat.html y.toFixed(x) // vypíše číslo y na x desetinných míst y.toPrecision(x) // vypíše číslo y na x platných číslic POZOR - v IE nutno dodržet správná velká písmena (toFixed), jinak to často háže chyby!!! příklady: var num = 10; var result = num.toFixed(2); // vypíše hodnotu 10.00 num = 930.9805; result = num.toFixed(3); // vypíše hodnotu 930.981 num = 500.2349; result = num.toPrecision(4); // vypíše hodnotu 500.2 num = 5000.2349; result = num.toPrecision(4); // vypíše hodnotu 5000 num = 555.55; result = num.toPrecision(2); // vypíše hodnotu 5.6e+2 |
||
_es Profil |
#4 · Zasláno: 3. 10. 2009, 00:16:23
Morgoloth
V tom odkaze asi nemali informáciu o tej nekompatibilite IE. Zaujímavé je, že podľa IE (0.008).toFixed(2) je "0.00", no (1.008).toFixed(2) je už "1.01". „v IE nutno dodržet správná velká písmena (toFixed), jinak to často háže chyby!“ To by vtedy malo hádzať chybu vždy a v každom prehliadači a nie len často. |
||
Morgoloth Profil * |
_es
Díky moc... nekompatibilitu v zaokrouhlování zatím neřeším, možná na to přijde čas jindy. Stačí mi, že to vypíše nějaký číslo :-) OK, je možný, že to háže chybu vždy... já jsem se s tím zezačátku trochu pral, než jsem zjistil, že za většinu problémů mohl zápis .Tofixed místo .toFixed :-( Každopádně díky moc za rady a připomínky... zase jsem o něco chytřejší a s webem spokojenější :-) |
||
Časová prodleva: 15 let
|
0