Buona sera Jack,

Non so se ho capito bene ma io uso questa function modificata per quest'esempio :

sub RoundMain()

        dim oDoc as object
        dim oCell as object
        dim aValue as variant
        
        oDoc = thisComponent
        oCell = oDoc.CurrentSelection
        aValue = oCell.Value
        
        msgbox RoundNumber( aValue, 2 )
        
end sub

function RoundNumber( n2r as variant, optional ndec as integer )

        dim initFormat as string, decpart as string
        
        initFormat = "## ##0"

        select case ndec
          case 0
                RoundNumber = Format( n2r, initFormat )
          case 1 to 9
                decpart = "." & String( ndec, "#" )
                RoundNumber = Format( n2r, initFormat & decpart )
          case else
                RoundNumber = "Le nombre de décimales est erroné"
        end select
        
end function

Se non ti va bene, mi puo spiegare un po piu cosa vuoi dire per "non mi va bene in quanto la formula permane ed a me serve il valore puro".

Francois

jack a écrit :
Ciao a tutti,

se ho ben capito l' OOo Basic non e' purtroppo dotato di una funzione Round
(per l' approssimazione ad N cifre significative di un valore numerico)...c'
e' modo di ovviare?

Mi viene in mente di:

usare la funzione built-in di Calc
usare in sequenza la conversioni numero/stringa e stringa/numero

La seconda saprei realizzarla (ma ho dei dubbi sulla sua efficacia), sulla
prima ho qualche difficolta' (il .setFormula() non mi va bene in quanto la
formula permane ed a me serve il valore puro)

Ehm, potresti aiutarmi? O suggerirmi altre strade?

Grazie :)



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

Rispondere a