312 messaggi dal 13 gennaio 2004
Ho dei valori del tipo 32,56347 e vorrei formattarli con solo due decimali.
Come posso fare?
Grazie e buon lavoro a tutti.

Mauro.
3.165 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

usa Math.Round

HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
17 messaggi dal 31 maggio 2007
prova con questo metodo fatto ad-hoc

private double formatta2decimali(double n)
    {
        String nstr = "" + n;
        return Convert.ToDouble(nstr.Remove(nstr.IndexOf(",")+3));        
    }


se vuoi anche l'arrotondamento devi lavorare sulla stringa...

...sarai quel che saprai...
17 messaggi dal 31 maggio 2007
prova con questo metodo fatto ad-hoc

private double formatta2decimali(double n)
    {
        String nstr = "" + n;
        return Convert.ToDouble(nstr.Remove(nstr.IndexOf(",")+3));        
    }


se vuoi anche l'arrotondamento devi lavorare sulla stringa...

...sarai quel che saprai...
17 messaggi dal 31 maggio 2007
cappero non ho guardato nei namespace....
il Math.Round è sicuramente molto piu elegante e veloce...
ciao

...sarai quel che saprai...
312 messaggi dal 13 gennaio 2004
Grazie tantissimo a tutti della collaborazione.


A presto

Mauro.
mauro.piccioli ha scritto:
Ho dei valori del tipo 32,56347 e vorrei formattarli con solo due decimali.


Se ti serve formattarli per la visualizzazione (quindi convertirli in stringa) puoi usare una cosa di questo tipo:

double myNumber = 1234.56789;
myNumber.ToString("#,###.00"); // "1.234,57"


Che consente ad esempio anche di impostare il separatore delle migliaia e definire sempre la presenza di 2 cifre decimali.
Per maggiori info vedi Formattazione di stringhe in .NET, in particolare la sezione "Stringhe di formato numerico personalizzato".

Se invece ti interessa un arrotondamento mantenendo il tipo numerico la soluzione di Stefano (Math.Round) è l'ideale.

Matteo Casati
GURU4.net
7 messaggi dal 24 aprile 2002
Ora ho anche l'esigenza di arrotondare sempre per difetto dei dati in decimal, sempre utilizzando Math.Round come devo fare? Altrimenti mi arrotonda per difetto o per accesso a seconda del numero decimale.
Grazie 1000 a tutti

Mauro.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.