Помощ за LibreOffice 7.5
LibreOffice Calc, точно както повечето други програми за електронни таблици, разчита на възможностите на хардуера за изчисления с плаваща запетая. Тъй като повечето съвременен хардуер използва двоична аритметика с плаваща запетая с ограничена точност, дефинирана от стандарта IEEE 754, много десетични числа – включително толкова прости като 0,1 – не могат да бъдат точно представени в LibreOffice Calc (който вътрешно използва 64-битови числа с двойна точност).
Пресмятанията с тези числа неизбежно водят до грешки от закръгляване, които се натрупват с всяко изчисление.
Това не е дефект, а нещо очаквано и за момента неизбежно без използване на сложни софтуерни изчисления, което би влошило неприемливо бързодействието и поради това е неприложимо. Потребителите трябва да имат това предвид и при необходимост да използват закръгляване и сравняване с машинен епсилон.
Пример с числа:
| A | |
|---|---|
| 1 | 31000.99 | 
| 2 | 32000.12 | 
| 3 | =A1-A2 | 
Това ще даде резултат -999,129999999997 в A3 вместо очакваното -999,13 (може да се наложи да увеличите показваните дробни позиции във формата на клетката, за да видите числото).
Пример с дати и часове:
Поради спецификата на представянето на часове в Calc, това важи и за всички изчисления с часове. Например в клетките A1 и А2 по-долу се виждат данни за дата и час, както са въведени (във формат ISO 8601):
| A | |
|---|---|
| 1 | 2020-04-13 12:18:00 | 
| 2 | 2020-04-13 12:08:00 | 
| 3 | =A1-A2 | 
В клетката A3 ще се покаже 00:10:00, ако върху нея е приложено подразбираното форматиране [HH]:MM:SS. В същата клетка A3 обаче ще се покаже 00:09:59,999999 вместо очакваното 00:10:00,000000, ако се използва форматиращ низ [HH]:MM:SS,000000. Това става въпреки използването само на цели числа за часовете и минутите, защото вътрешно всеки час е дробна част от деня, като 12:00 (пладне) се представя като 0,5.
Данните в A1 се представят вътрешно като 43934,5125, а тези в A2 – като 43934,5055555555591126903891563 (което не е точно представяне на въведената дата и час, то би било 43934,505555555555555555...).
Разликата им е 0,00694444443287037 – стойност, малко по-малка от очакваната 0,00694444444444..., която отговаря на 10 минути.