hesebe kirjoitti:Pyöritysvirhe:
0.3445 => 0.34, virheen itseisarvo 0.0045
0.3445 => 0.35, virheen itseisarvo 0.0055
Ylemmässä pienempi pyöristysvirhe!
Okei, HYVÄ (…jos oikein ymmärsin), mutta käytäntö on toinen! Kun pyöristetään alemmalla tavalla, esimerkiksi laskutusohjelmatyyppisessä sovelluksessa, laskelmat menevät joka kerta sentilleen oikein! Ylemmässä pyöristysvirheen ollessa pienempi, aiheuttaa se kuitenkin (laskuohjelmissa)
näennäisesti satunnaisilla summilla loppusummaan pyöristysvirheen joka onyksiselitteisesti väärin ilman tulkinnan mahdollisuutta.
Koodailin (olikohan jotain 2006) pitkät päivät laskutusohjelman laskurivien summausta, luulin että ongelma on siinä että pyöristää välisummia väärissä kohdissa jne. ja silloin sainkin ongelman katoamaan esimerkkilaskussa, mutta vain siihen asti kun sama pyöristysvirhe pomppasikin esiin muualla missä sitä ei aikaisemmin ollut. Olin tulla sekopääksi tuon asian kanssa ja googlailin ja testailin eri ohjlemia ja matematiikkakirjastoja mitä osaisin.
Ainut ratkaisu oli että koodasin oman luokan mikä pyöristää Elon laskuopin mukaan siten kun joskus ala-asteella on matematiikan tunnilla opetettu. Ja sen jälkeen ei ole ollut ensimmäistäkään sentin väärinpyöristymistä.