Gilean (Normal User)
Rookie
Messaggi: 54
Iscritto: 18/05/2008
|
Questo topic č stato chiuso dal moderatore Salve a tutti. Ho delle textbox con delle stringhe che converto in double con double.parse. Mi piacerebbe mostrare, alla fine dei calcoli, in una textbox il risultato (un double) con un certo numero di cifre dopo la virgola (ivi compreso se fosse del tipo ,00). E' possibile?
|
|
()
Newbie
Messaggi:
Iscritto:
|
Puoi usare la funzione:
Codice sorgente - presumibilmente Plain Text |
Math.Round(numero, numero_cifre);
|
|
|
Gilean (Normal User)
Rookie
Messaggi: 54
Iscritto: 18/05/2008
|
grazie mille per il metodo, pero' il problema rimane. Se digito ad esempio una variabile double PREZZO=8000, nella texbox usando il math.round (PREZZO,3) mi da 8000 e non 8000,000. un ultmo aiutino?
Nello specifico io faccio questo
PRendo il valore da una textbox con double Prezzo =double.parse (textobox.text);
faccio una semplice operazione
double PREZZO_NUOVO=Math.Round(PREZZO * 2.0,3);
Inserisco questo in un 'altra textbox TextBox2.Text=PREZZO_NUOVO.ToString();
la textbox, se inserisco ad esempio 4 nella prima, mi visualizza 8 e non 8,00
Ultima modifica effettuata da Gilean il 02/07/2009 alle 22:51 |
|
()
Newbie
Messaggi:
Iscritto:
|
Ho appena scritto una funzione che fa al caso tuo in VB.Net, poi l'ho convertita in C# e ho trovato un problema! In pratica quando chiami...
Codice sorgente - presumibilmente Plain Text |
...automaticamente ti eliminale cifre decimali! Invece non dovrebbe farlo...se trovo una soluzione te la posto!
Trovata la soluzione! ecco la funzione che ho scritto per aggiustare il numero:
Codice sorgente - presumibilmente C# |
public static string Aggiusta(double n, int x){ string s=(n*Math.Pow(10,x)).ToString(); return s.Insert(s.Length-x, ","); }
|
Anzichč chiamare il metodo prezzo_nuovo.ToString(), chiama la funzione Aggiusta(prezzo_nuovo, numerocifre) quindi il tuo codice diventa:
Codice sorgente - presumibilmente C# / VB.NET |
double prezzo=double.Parse(TextBox1.Text);
double prezzo_nuovo=Math.Round(prezzo*2,3);
TextBox2.Text=Aggiusta(prezzo_nuovo,3);
|
Ultima modifica effettuata da il 03/07/2009 alle 11:03 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Bastava fare:
Codice sorgente - presumibilmente Plain Text |
String.Format("{0:N2}", Numero)
|
2 č il numero di cifre decimali dopo la virgola.
|
|
Gilean (Normal User)
Rookie
Messaggi: 54
Iscritto: 18/05/2008
|
Grazie mille TOTEM!!! mi dimentico sempre degli string format, eppure la classe String contiene quasi tutto il necessario. Grazie mille a tutti
|
|