Faq/Calc/Accuracy/da

    From The Document Foundation Wiki
    < Faq‎ | Calc
    This page is a translated version of the page Faq/Calc/Accuracy and the translation is 75% complete.
    Other languages:


    Iboende problem med nøjagtighed

    Calc benytter, ligesom den meste anden software til regneark, den kapacitet til regning med flydende komma, der findes i hardwaren. Givet at den meste samtidige hardware bruger binær aritmetik med flydende komma med begrænset nøjagtighed, defineret i IEEE 754, kan mange decimaltal - herunder så enkelt som 0,1 - ikke repræsenteres i Calc (som internt bruger 64-bit-tal med dobbelt præcision). Beregninger med disse tal med nøjagtighed resulterer nødvendigvis i afrundingsfejl, og de vokser med hver enkelt beregning. Dette er ikke en fejl, men er forventet og aktuelt uundgåeligt uden anvendelse af komplekse beregninger i softwaren, som ville medføre urimelige indskrænkelser af ydelsen, og derfor er urealistiske. Brugerne må tage højde for dette og benytte af afrunding og sammenligninger med epsilon om nødvendigt.

    Et eksempel:

    A
    1 31000.99
    2 32000.12
    3 =A1-A2

    Dette vil give resultatet -999.129999999997 i A3, i stedet for det forventede -999.13 (du kan være nødt til at forøge celleformatets antal af viste decimaler for at se dette).

    På grund af den specifikke tidsrepæsentation i Calc, gælder dette også alle beregninger, der involverer tid. I det følgende eksempel vil det sige, at cellerne A1 og A2 viser dato+klokkeslæt som indtastet (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:09:59.999999 i stedet for det forventede 00:10:00.000000, hvis der er formateret med formatstrengen [HH]:MM:SS.000000. Dette sker på trods af, at der blev brugt hele tal til timer og minutter, fordi ethvert klokkeslæt internt er en brøkdel af dagen og 12:00 (middag) repræsenteres som 0,5. Data i A1 repræsenteres internt som 43934,5125, og i A2 som 43934,5055555555591126903891563 (hvilket ikke er en præcis repæsentation af den indtastede datotid, som skulle være 43934,505555555555555555...). Differensen mellem resultaterne bliver 0,00694444443287037, en værdi, der er marginalt mindre en det forventede 0,00694444444444..., hvilket er 10 minuter.

    Order of magnitude between operands

    The maximum order of magnitude between operands is lower than 10^15 (1015). This is not related to the display format for the cell.

    For instance, when performing 1E+9 + 1E-7 you might not get the result you are expecting, since 9 - (-7) = 16 > 15. On the other hand, performing 1E+8 + 1E-6 will indeed result in 100000000.000001 (you might need to increase shown decimal places in cell format to see this).

    Se også

    Relaterede bogmærker samlet af erAck