Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

arrotondamento alla seconda cifra in OOo Calc 2.x

321 views
Skip to first unread message

omez

unread,
Jul 23, 2007, 12:13:16 PM7/23/07
to
Mi sono accorto che in molte tabelle che uso per calcolare aree, volumi,
ecc... per i calcoli urbanistici da presentare nel progetti in Comune,
si verificano alcuni errori di arrotondamento nei totali, ed anche nelle
semplici formure di moltiplicazione e sottrazione (es.: =x*y --> z
+-0.01). Devo correggere l'errore con l'aggiunta nelle sommatoria di + o
- 0.01.

Potete aiutarmi?
oMez

VITRIOL

unread,
Jul 23, 2007, 12:16:24 PM7/23/07
to
omez ha scritto:

Puoi fare un esempio di calcolo che genererebbe un errore di
arrotondamento? Tieni conto che le formule operano sempre usando tutte
le cifre significative disponibili, indipendentemente dalla
formattazione delle celle.

--
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.

Saluti, VITRIOL

omez

unread,
Jul 24, 2007, 10:26:33 AM7/24/07
to
VITRIOL ha scritto:

> omez ha scritto:
>
>> Mi sono accorto che in molte tabelle che uso per calcolare aree,
>> volumi, ecc... per i calcoli urbanistici da presentare nel progetti in
>> Comune, si verificano alcuni errori di arrotondamento nei totali, ed
>> anche nelle semplici formure di moltiplicazione e sottrazione (es.:
>> =x*y --> z +-0.01). Devo correggere l'errore con l'aggiunta nelle
>> sommatoria di + o - 0.01.
>
> Puoi fare un esempio di calcolo che genererebbe un errore di
> arrotondamento? Tieni conto che le formule operano sempre usando tutte
> le cifre significative disponibili, indipendentemente dalla
> formattazione delle celle.
>
Adesso un esempio di tabella che mi crea l'errore non la posso mandare
per sottoporla al tuo controllo, posso solo dirti che normalmente se la
terza cifra è compresa tra 1 e 4, si arrotonda a 5, viceversa se supera
il cinque la seconda cifra dopo la virgola dovrebbe cambiare con il
numero intero superiore.

esempio:

1.541+1.643=3.184 --> 3.18

1.542+1.646=3.188 --> 3.19

con queste possibilità spesso mi capita che il 3.19 non si presenta ma
rimane la somma 3.18 che è sbagliato, e poi capirmi che questo errore
per un grande conteggio spesso per calcolo volumi edifici e calcolo
contributi di concessione possono far lievitare non di poco gli euro da
versare alle casse del Comune.

oMeZ

VITRIOL

unread,
Jul 24, 2007, 10:36:57 AM7/24/07
to
omez ha scritto:

> Adesso un esempio di tabella che mi crea l'errore non la posso mandare
> per sottoporla al tuo controllo, posso solo dirti che normalmente se la
> terza cifra è compresa tra 1 e 4, si arrotonda a 5

No, si approssima per difetto. Cioè si tronca alla seconda decimale, se
hai impostato due decimali.

> 1.541+1.643=3.184 --> 3.18
>
> 1.542+1.646=3.188 --> 3.19

Che è esattamente quello che ottengo in Calc.
Comunque ti ripeto, la formattazione delle celle non influisce sulla
approssimazione del numero che vi è contenuto. Se tu usi la cella che
mostra 3.19 (ma contiene 3.188) per fare altri calcoli, il valore
passato alla formula sarà 3.188 e NON 3.19.
Controlla questo prima di dire che Calc sbaglia.

omez

unread,
Jul 24, 2007, 10:54:56 AM7/24/07
to
VITRIOL ha scritto:

> omez ha scritto:
>
>> Adesso un esempio di tabella che mi crea l'errore non la posso mandare
>> per sottoporla al tuo controllo, posso solo dirti che normalmente se
>> la terza cifra è compresa tra 1 e 4, si arrotonda a 5
>
> No, si approssima per difetto. Cioè si tronca alla seconda decimale, se
> hai impostato due decimali.
>
>> 1.541+1.643=3.184 --> 3.18
>>
>> 1.542+1.646=3.188 --> 3.19
>
> Che è esattamente quello che ottengo in Calc.
> Comunque ti ripeto, la formattazione delle celle non influisce sulla
> approssimazione del numero che vi è contenuto. Se tu usi la cella che
> mostra 3.19 (ma contiene 3.188) per fare altri calcoli, il valore
> passato alla formula sarà 3.188 e NON 3.19.
> Controlla questo prima di dire che Calc sbaglia.
>
Posso mandarti una tabella in allegato?

anche in privato su altro indirizzo?

VITRIOL

unread,
Jul 24, 2007, 10:50:59 AM7/24/07
to
omez ha scritto:

> Posso mandarti una tabella in allegato?
>
> anche in privato su altro indirizzo?

Mandala pure al mio indirizzo e-mail. Togli il TOGLIMI.

VITRIOL

unread,
Jul 24, 2007, 11:33:50 AM7/24/07
to
Ricevuto.
Allora, Calc fa esattamente quello che deve fare, ed è come ti ho detto.
Tu nella prima sommatoria hai calcolato:

(6,66 * 3,33) / 2 = 11,0889
(6,66 * 5,24) / 2 = 17,4492
(13,11 * 2,68) / 2 = 17,5674
(8,75 * 3,36) / 2 = 14,7000
(2,80 * 5,02) / 2 = 7,0280
2,80 * 0,77 = 2,15600
((0,33 + 0,19) / 2) * 35,55 = 9,2430
8,08 * 5,85 = 47,2680
(21,81 * 0,40) / 2 = 4,3620
4,85 * 5,40 = 26,1900
2,80 * 5,85 = 16,3800
((5,58 + 6,58) / 2) * 15,28 = 92,9024
-3,0000

Somma 263,3349

Il risultato è 263,3349, che approssimato alla seconda decimale diventa
263,33. E' esatto, no? :-)
Ovvio che se tu sommi i risultati parziali che VISUALIZZI nelle celle hai:

11.09 + 17.45 + 17.57 + 14.70 + 7.03 + 2.16 + 9.24 + 47.27 + 4.36 +
26.19 + 16.38 + 92.90 - 3.00 = 263.34

Ma questo perché hai accumulato tanti errori di approssimazione. Come ti
ho detto invece Calc lavora sui valori REALI delle espressioni. Ha
ragione lui.
Se vuoi puoi approssimare alla seconda decimale il risultato di ogni
formula che usi lo puoi fare con la funzione ARROTONDA(). Ad esempio la
prima formula diventa:

ARROTONDA((6,66*3,33)/2; 2) = 11,0900

In questo modo hai approssimato davvero il risultato, e la somma sarà
coerente con quelle parziali visualizzate alla seconda decimale. Però
tieni conto che è questo il risultato affetto da errore, non quello che
che calcolava Calc di default.

omez

unread,
Jul 24, 2007, 11:55:59 AM7/24/07
to
VITRIOL ha scritto:
ok

Ciao
oMeZ

L0cutus

unread,
Jul 24, 2007, 12:10:43 PM7/24/07
to
VITRIOL wrote:
> In questo modo hai approssimato davvero il risultato, e la somma sarà
> coerente con quelle parziali visualizzate alla seconda decimale. Però
> tieni conto che è questo il risultato affetto da errore, non quello che
> che calcolava Calc di default.

se vuoi evitare questo 'bug logico', aumenta le cifre decimali
visualizzate e vedrai che e' come dice VITRIOL :)

0 new messages