Forum Informatica Libera
Errore di arrotondamento in LibreOffice Calc - Versione stampabile

+- Forum Informatica Libera (https://www.ergosumracalmuto.org/informaticalibera/forum)
+-- Forum: Software (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=11)
+--- Forum: Ufficio ed Internet (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=12)
+--- Discussione: Errore di arrotondamento in LibreOffice Calc (/showthread.php?tid=1280)



Errore di arrotondamento in LibreOffice Calc - Blackstar - 22/08/2021

Diversi utenti stanno segnalando uno strano errore di arrotondamento in LibreOffice Calc.
Se in una cella si esegue, ad esempio, l'operazione 241,47-241 e poi si aumenta la larghezza della cella il risultato anziché 0,47 diviene 0,469999999999999.

Se ne sta discutendo nella mailing list degli utenti italiani dove trovate anche altri esempi e valutazioni.

In attesa di saperne di più, tenetene conto se utilizzate LibreOffice Calc per eseguire calcoli ad alta precisione (nei calcoli ordinari non fa sostanzialmente nessuna differenza).


RE: Errore di arrotondamento in LibreOffice Calc - stonehenge - 22/08/2021

Ciao

Se scegliamo di formattare la cella con formato standard da quel risultato ma se noi impostiamo la terza voce il risultato sarà esatto. allegato 1 Standard    

allegato 2(specificando i decimali).    

Se vogliamo possiamo considerarlo un errore ma sarebbe più corretto quando creiamo un foglio di calcolo formattarlo prima di iniziare a lavorare specificando che si sta lavorando con decimali.


RE: Errore di arrotondamento in LibreOffice Calc - Blackstar - 22/08/2021

Sì, sono scenari di cui si è parlato anche nella discussione che ho segnalato.
Ma nessun altro foglio di calcolo si comporta così. E' chiaro che forzando l'arrotondamento il risultato è corretto ma è una procedura in gran parte superflua proprio perché il dato di default di un foglio di calcolo è un numero reale.


RE: Errore di arrotondamento in LibreOffice Calc - stonehenge - 22/08/2021

Strano se il numero è da 1 a 9 il risultato è corretto
5,47-5 da 0,47
se invece è uguale a 10 o superiore da errori diversi.
10,47-10 da 0,470000000000.......
100,47-100 da 0,46999999999....
Tutto normale con celle standard ma se la larghezza della cella supera i 3,1 cm da questi risultati strani.
succede solo se i decimali sono più di 1(0,15,0,47 ecc) e prevedono un risultato 0,(zero virgola).
se facciamo
10,4-10 da 0,4 corretto
10,47-10 da il risultato già visto sopra
Bene anzi male... ma saperlo può aiutare a superare il problema.


RE: Errore di arrotondamento in LibreOffice Calc - Blackstar - 23/08/2021

Quindi con i numeri minori di 10 si comporta in maniera ancora diversa... strano davvero


RE: Errore di arrotondamento in LibreOffice Calc - BAT - 23/08/2021

Non c'è nulla di strano, il risultato fornito da LibreOffice è corretto in base alle regole delle operazioni in virgola mobile.
Il numeoro 0,47, risultato dell'operazione 241,47-241 non si può rappresentare in modo esatto usando l'aritmetica binaria in doppia precisione a 64 bit
Inserite per esempio in questa pagina il valore 0.47: https://www.h-schmidt.net/FloatConverter/IEEE754.html

Per maggiori info vedere qui: https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Per inciso, più i numeri decimali si avvicinano allo zero, maggiore è la precisione con cui è possibile rappresentarli, tuttavia la conversione dipende dal numero e dall'operazione che viene svolta. Tanto per dirne una, il numero 0,1 in aritmetica binaria è un numero perodico...
invece 0,125 (1/8) non lo è perché si può esprimenre come 2^(-3) ossia una potenza intera di 2

Probabilmente in applicativi diversi da LibreOffice vengono adottati metodi che rilevano questa condizione e fanno direttamente un arrotondamento.


RE: Errore di arrotondamento in LibreOffice Calc - dead - 23/08/2021

Come dice bat non c'è nulla di strano e non è un bug: anche Excel ha lo stesso comportamento.

[Immagine: HZBVyag.png]


RE: Errore di arrotondamento in LibreOffice Calc - Blackstar - 24/08/2021

(23/08/2021, 12:40)BAT Ha scritto: Non c'è nulla di strano, il risultato fornito da LibreOffice è corretto in base alle regole delle operazioni in virgola mobile.
BAT, mi fido completamente di ciò che dici ma...
Se una calcolatrice da 5 euro non ha questo problema... Se una calcolatrice software freeware fa quella operazione senza fare una piega... a ma sembra assurdo che un foglio di calcolo non sia in grado di fare altrettanto.

(23/08/2021, 15:27)dead Ha scritto: Come dice bat non c'è nulla di strano e non è un bug: anche Excel ha lo stesso comportamento.

Non è la stessa cosa. In Excel (ma anche in OpenOffice) devi essere tu a forzare il livello di precisione per ottenere quella forma.


RE: Errore di arrotondamento in LibreOffice Calc - BAT - 27/08/2021

(24/08/2021, 13:57)Blackstar Ha scritto: Se una calcolatrice da 5 euro non ha questo problema... Se una calcolatrice software freeware fa quella operazione senza fare una piega... a ma sembra assurdo che un foglio di calcolo non sia in grado di fare altrettanto.
il punto è che tecnicamente non è un bug ma il normale risultato di una operazione in virgola mobile a doppia precisione, in termini terra-terra, è quelle che esce così com'è dal registro della CPU dove viene immagazzinato il risultato del calcolo.
Ci sono tecniche per aggiustarla questa cosa, vedrai che presto o tardi la implementeranno