Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
Errore di arrotondamento in LibreOffice Calc
#1
Information 
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).
Bene per male è carità, male per bene è crudeltà
Cita messaggio
#2
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.
La vita è come uno specchio:ti sorride se la guardi sorridendo
Un giorno senza rischio è non vissuto..
PCLinuxOS Mate - Forum Manjaro Italia Mate/Kde/Xfce - Windows 10-32bit 21h2
Cita messaggio
#3
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.
Bene per male è carità, male per bene è crudeltà
Cita messaggio
#4
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.
La vita è come uno specchio:ti sorride se la guardi sorridendo
Un giorno senza rischio è non vissuto..
PCLinuxOS Mate - Forum Manjaro Italia Mate/Kde/Xfce - Windows 10-32bit 21h2
Cita messaggio
#5
Quindi con i numeri minori di 10 si comporta in maniera ancora diversa... strano davvero
Bene per male è carità, male per bene è crudeltà
Cita messaggio
#6
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...dberg.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.
Il mio blog: https://guidedibat.blogspot.com/
LEGGE DI MURPHY: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
VERSIONE QUANTISTICA DELLA LEGGE DI MURPHY: TUTTO VA MALE CONTEMPORANEAMENTE
Cita messaggio
#7
Come dice bat non c'è nulla di strano e non è un bug: anche Excel ha lo stesso comportamento.

[Immagine: HZBVyag.png]
Cita messaggio
#8
(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.
Bene per male è carità, male per bene è crudeltà
Cita messaggio
#9
(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
Il mio blog: https://guidedibat.blogspot.com/
LEGGE DI MURPHY: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
VERSIONE QUANTISTICA DELLA LEGGE DI MURPHY: TUTTO VA MALE CONTEMPORANEAMENTE
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 4 Ospite(i)