LibreOffice-kalkuleringssnøyaktighet

Iboende nøyaktighetsproblem

LibreOffice Calc, akkurat som de fleste andre regnearkprogramvare, bruker flytende-punkts matematiske funksjoner tilgjengelig på maskinvare. Gitt at de fleste moderne maskinvare bruker binær flyttalls-aritmetikk med begrenset presisjon definert i IEEE 754-standarden, mange desimaltall – inkludert som enkel som 0.1 - kan ikke representeres nøyaktig i LibreOffice Calc (som bruker 64-bits dobbelpresisjonstall internt).

Beregninger med disse tallene resultater nødvendigvis i avrundingsfeil, og de akkumuleres med hver beregning.

Dette er ikke en feil, men er forventet og for øyeblikket uunngåelig uten å bruke komplekse beregninger i programvare, noe som vil medføre upassende ytelsesstraff, og er derfor uaktuelt. Brukere må ta hensyn til det, og bruke avrunding og sammenligninger med maskin-epsilon (eller enhetsavrunding) etter behov.

Et eksempel med tall:

A

1

31000.99

2

32000.12

3

=A1-A2


Dette vil resultere i -999.129999999997 i A3, i stedet for forventet -999.13 (det kan hende du må øke viste desimaler i celleformat for å se dette).

Supporter oss!