Tablora

Tablora · Bibliotecă

Verifică 0.10 plus 0.20 cu zecimale exacte

Verifică dacă 0.10 plus 0.20 dă exact 0.30 cu aritmetică zecimală, ca un total declarat să fie comparat fără artefacte de virgulă mobilă.

De ce 0.1 plus 0.2 poate părea greșit

Multe programe stochează numerele în virgulă mobilă binară, unde 0.1 și 0.2 nu au o reprezentare exactă. Adună-le și rezultatul stocat e un pic peste 0.3; în funcție de formatare, poți vedea 0.30000000000000004 sau o comparație care spune că valorile nu sunt egale. Într-o reconciliere, un asemenea artefact arată ca o diferență care de fapt nu există.

Verificarea sumei zecimale îl evită. Citește fiecare valoare ca șir zecimal, aduce toate valorile la același număr de zecimale și le adună ca numere întregi, așa că 0.10 și 0.20 dau exact 0.30.

Introducerea liniilor

Rezultatul pentru 0.10 și 0.20

Cu valorile 0.10 și 0.20 și un Total așteptat de 0.30, Total calculat este 0.30, Diferență este 0.00, iar Totalurile coincid arată Da. Rezultatul păstrează două zecimale, pentru că acesta e cel mai mare număr de zecimale dintre valori și totalul așteptat.

Diferență este întotdeauna Total calculat minus Total așteptat, așa că o diferență negativă înseamnă că liniile introduse nu ajung la cifra declarată.

Pregătirea valorilor dintr-un tabel real

Sumele copiate dintr-un extras rareori sosesc în formă canonică. Trece întâi coloana prin normalizatorul numeric, alegând separatorii zecimal și de grupare folosiți în document, apoi copiază valorile convertite în verificare. O valoare reținută de normalizator pentru verificare nu e gata pentru sumă; rezolv-o înainte să ai încredere în total.

Verificarea face aritmetică exactă pe ce introduci și nimic mai mult. Nu convertește monede, nu aplică reguli de taxe sau de rotunjire și nu-ți spune dacă ai introdus toate înregistrările.

Intrări pe care verificarea le refuză

Date de intrare

O valoare pe rând
0.10 0.20
Total așteptat
0.30

Rezultate

Total calculat
0.30
Diferență
0.00
Totalurile coincid
Da