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. 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 |