Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Chyby v plávajúcej výpočty bod nie sú neznáme v iných programovacích jazykoch . Tie sa zvyčajne vyskytujú v množstve veľké hodnoty . JavaScript vytvára zaujímavé výsledky v priebehu operácie s hodnotami tak nízke , ako 0,06 + 0,01 . Väčšina ľudí by ponúkať 0,07 ako riešenie tejto rovnice . JavaScript rieši túto odpoveď ako , 06999999999999 . Blízko, ale nie dosť blízko pre komerčné využitie .
Formátovanie a presnosť
JavaScript ponúka dve funkcie , toFixed ( ) a toPrecision ( ) , ktorá odstráni problémy so zobrazením spojené s nepredvídateľné výsledky . Funkcie toFixed ( ) umožňuje určiť počet číslic , program zobrazí za desatinnou čiarkou . V prípade meny , za použitia argumentu num.toFixed ( 2 ) zobrazuje iba prvé dve číslice za desatinnou čiarkou s automatickým zaokrúhľovania . Funkcie toPrecision ( ) sa zobrazí odpoveď s celkovým počtom číslic uvedených v argumente bez ohľadu na ich vzťahu k desatinnou čiarkou .
Príčina
Zaokrúhlenie chyby sú zavedené , iba ak sú desatinné čísla prevedené na binárne reťazca . Tento proces je nevyhnutný , pretože počítač môže pracovať iba s jedničiek a núl . Mnoho jazykov prekonať túto chybu zaokrúhlenia s využitím dátových typov . Zadaním ako a čo presnosť premenná je uložená , jazyky , ako je C a Java zníženie týchto chýb . Pri deklarovaní premennej v JavaScripte , nie je zadaný žiadny typ . To má za následok znaky , reťazce , celé čísla a pláva liečený viac či menej rovnako .
Riešenie
najčastejšie používané stratégie na prekonanie chýb s plávajúcou desatinnou čiarkou v JavaScriptu je vynásobíme obe premenné 100. pred vykonaním výpočtu , pomocou Funkcia Round ( ) , aby sa znížilo plávajúce chybu bod a vydelením produkt tejto prevádzky 100 pred tlačou odpoveď .