LibreOffice 24.8 Hjelp
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).
Et eksempel med datoer og klokkeslett:
På grunn av den spesifikke tidsrepresentasjonen i Calc, gjelder dette også for alle beregninger som involverer tider. For eksempel viser cellene A1 og A2 nedenfor dato- og klokkeslettdataene som er angitt (i ISO 8601-format):
| A | |
|---|---|
| 1 | 2020-04-13 12:18:00 | 
| 2 | 2020-04-13 12:08:00 | 
| 3 | =A1-A2 | 
Celle A3 vil vise 00:10:00 hvis standardformateringen [TT]:MM:SS brukes på cellen. Imidlertid vil celle A3 vise 00:09:59.999999 i stedet for forventet 00:10:00.000000 hvis formatert med [HH]:MM:SS.000000 formatstreng. Dette skjer til tross for at bare hele antall timer og minutter ble brukt, fordi internt er enhver tid en brøkdel av en dag, 12:00 (middag) representert som 0,5.
Dataene i A1 er representert internt som 43934.5125, og i A2 som 43934.505555555591126903891563 (som ikke er eksakt representasjon av den angitte dato og klokkeslett, som vil være 43934.50555555555...).
Deres subtraksjon resulterer i 0,006944444443287037, en verdi litt mindre enn forventet 0,00694444444444..., som er 10 minutter.