Hirdetés

Új hozzászólás Aktív témák

  • vz12

    tag

    válasz GG888 #3732 üzenetére

    A JS számolások aritmetikai pontosságának növelésére van-e valakinek valamilyen ötlete?
    Mert a beépített számomra egy kicsit igénytelen, kicsit durvának tartom hogy már egy egyszerű szorzásra is pontatlan ( illetve vagy pontatlan, vagy nem ! ), megengedő módon a gyökvonást még valamennyire megérteném ...
    pl.1: 17 * 1.1 = 18.700000000000003
    pl.2: 7410 * 0.43 = 3186.2999999999997
    pl.3: Math.pow(Math.sqrt(1.5),2) = 1.4999999999999998
    pl.4: Math.pow(1.6,2) = 2.5600000000000005

    Én elkövettem magamnak egy ki/bekapcsolható "automatikus decimális kerekítés"-t, ami nem fix, hanem rugalmas hosszúságban próbál decimálisan kerekíteni. Ez egy bizonyos határig remekül működik, pl. a fenti esetekben is, de nagyobb számok esetén (mondjuk 10 jegyű számok felett), vagy túl sok tizedesjegy esetén már hatástalan. A kikapcsolhatóságot is bele kellett tenni, hogy amikor nem kell, akkor azért ne kerekítsen, mert úgy jobban meghamisítja az eredményt, mint a "gyári" pontatlanság.
    De ez igazából barkácsolás, pótmegoldás. A korrekt az lenne, ha a JS egy "rendesebb" aritmetikát használna, ennek ellenére ha valakinek lenne valami jó ötlete, azt megköszönném.

Új hozzászólás Aktív témák