Съдържание

# Точност на изчисленията в LibreOffice

## Присъщ проблем с точността

LibreOffice Calc, точно както повечето други програми за електронни таблици, разчита на възможностите на хардуера за изчисления с плаваща запетая. Тъй като повечето съвременен хардуер използва двоична аритметика с плаваща запетая с ограничена точност, дефинирана от стандарта IEEE 754, много десетични числа – включително толкова прости като 0,1 – не могат да бъдат точно представени в LibreOffice Calc (който вътрешно използва 64-битови числа с двойна точност).

Пресмятанията с тези числа неизбежно водят до грешки от закръгляване, които се натрупват с всяко изчисление.

Това не е дефект, а нещо очаквано и за момента неизбежно без използване на сложни софтуерни изчисления, което би влошило неприемливо бързодействието и поради това е неприложимо. Потребителите трябва да имат това предвид и при необходимост да използват закръгляване и сравняване с машинен епсилон.

Пример с числа:

| A
1 | 31000.99
2 | 32000.12
3 | =A1-A2

Това ще даде резултат -999,129999999997 в A3 вместо очакваното -999,13 (може да се наложи да увеличите показваните дробни позиции във формата на клетката, за да видите числото).

Теми, свързани с показаната

RAWSUBTRACT