jack ha scritto:
L' ho trovata (OpenOffice.org Macros -> Tools -> Strings) ma piu' che un
arrotondamento effettua un troncamento alla cifra decimanle voluta:

Round(2.00009,4)=2,0000

puoi sempre creare una nuova macro che applica il semplice algoritmo:

Arrotonda N al numero più vicino con X cifre significative:
-----------------------------------------------------------
se N>0, round (N+0.5*10^(-X), X)
se N<0, round (N-0.5*10^(-X), X)

dove 10^(-X) significa elevamento a potenza


esempi:
-------

N=2.9, X=0
round (2.9+0.5*1, 0) = round (2.9, 0) = 2

N=2.9, X=1
round (2.9+0.5*0.1, 1) = round (2.95, 1) = 2.9

N=2.00009, X=4
round (2.00009+0.5*0.00001, 4) = round (2.00014, 4) = 2.0001


Se ti serve che funzioni anche gli N negativi dovresti prima controllare se round tronca effettivamente verso lo zero così:
round (-2.9, 0) = -2
oppure se si comporta in questo modo bizzarro diverso se N> o <0 cosi:
round (-2.9, 0) = -3
round ( 2.9, 0) =  2

Nel secondo caso usa round direttamente per N<0


Valerio


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a