Ho un doppio valore. Voglio formattare questo valore nel formato di x.yz. Come faccio a fare questo? Continuo a ricevere le cifre troncate. Qualcuno può dirmi come farlo in C#?Formato doppio in C#
Grazie!
Ho un doppio valore. Voglio formattare questo valore nel formato di x.yz. Come faccio a fare questo? Continuo a ricevere le cifre troncate. Qualcuno può dirmi come farlo in C#?Formato doppio in C#
Grazie!
Utilizzando stringhe di formato è spiegato in:
Ad esempio, provate:
(0.56789).ToString("F2")
(0.56789).ToString("0.00")
.Si noti che il valore risultante NON viene troncato, ma arrotondato in entrambi i casi, con conseguente "0.57"
.
string.Format("{0:0.00}",yourdouble);
E forse troverete utile bastone una carta con questa http://john-sheehan.com/blog/wp-content/uploads/msnet-formatting-strings.pdf da qualche parte nel vostro ufficio
sì, corretto, mi dispiace per la risposta veloce :) –
provato qualcosa in questo modo, utilizzando ToString?
doubleNumber = -1898300.1937;
Console.WriteLine(doubleNumber.ToString("F2", CultureInfo.InvariantCulture));
// Displays -1898300.19
cifre dopo la virgola decimale
Questo esempio Formati doppia a stringa con numero fisso di cifre decimali. Per due cifre decimali utilizzare il modello "0.00". Se un numero a virgola mobile ha meno cifre decimali, le cifre rimanenti a destra saranno zero. Se ha più cifre decimali, il numero sarà arrotondato.
// just two decimal places
String.Format("{0:0.00}", 123.4567); // "123.46"
String.Format("{0:0.00}", 123.4); // "123.40"
String.Format("{0:0.00}", 123.0); // "123.00"
esempio successivo formatta doppia a stringa con il numero di cifre decimali galleggiante. Per esempio. per le due posizioni decimali massime utilizzare il modello "0. ##".
// max. two decimal places
String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"
cifre prima del punto
decimale Se si desidera un numero float di avere tutto il numero minimo di cifre prima dell'uso punto decimale N-volte a zero prima della virgola. Per esempio. pattern "00.0" formatta un numero float in stringa con almeno due cifre prima del punto decimale e una cifra dopo.
// at least two digits before decimal point
String.Format("{0:00.0}", 123.4567); // "123.5"
String.Format("{0:00.0}", 23.4567); // "23.5"
String.Format("{0:00.0}", 3.4567); // "03.5"
String.Format("{0:00.0}", -3.4567); // "-03.5"
Migliaia separatore
Per formattare doppia a stringa con l'uso di migliaia separatore utilizzare zero e separatore virgola prima un galleggiante solito formattazione modello, ad esempio pattern "0,0.0" formatta il numero per utilizzare i separatori di migliaia e per avere una cifra decimale.
String.Format("{0:0,0.0}", 12345.67); // "12,345.7"
String.Format("{0:0,0}", 12345.67); // "12,346"
Zero
numeri float tra zero e uno possono essere formattati in due modi, con o senza zero prima della virgola. Per formattare il numero senza zero iniziale utilizzare # prima del punto. Ad esempio "# .0" numero di formati per avere una cifra decimale e da zero a N cifre prima del punto decimale (ad esempio ".5" o "123.5").
Il codice seguente mostra come può essere formattato uno zero (di tipo doppio).
String.Format("{0:0.0}", 0.0); // "0.0"
String.Format("{0:0.#}", 0.0); // "0"
String.Format("{0:#.0}", 0.0); // ".0"
String.Format("{0:#.#}", 0.0); // ""
numeri allinearsi con spazi
Per allineare il numero float a destra utilizzo virgola “” opzione prima dei due punti. Digita la virgola seguita da un numero di spazi, ad es. "0,10: 0.0" (questo può essere utilizzato solo nel metodo String.Format, non nel metodo double.ToString). Per allineare i numeri a sinistra utilizzare il numero negativo di spazi.
String.Format("{0,10:0.0}", 123.4567); // " 123.5"
String.Format("{0,-10:0.0}", 123.4567); // "123.5 "
String.Format("{0,10:0.0}", -123.4567); // " -123.5"
String.Format("{0,-10:0.0}", -123.4567); // "-123.5 "
formattazione personalizzata per i numeri negativi e lo zero
Se è necessario utilizzare il formato personalizzato per i numeri float negativi o pari a zero, utilizzare il separatore virgola “;” per dividere modello a tre sezioni. La prima sezione formatta numeri positivi, la seconda sezione formatta numeri negativi e la terza sezione formati zero. Se ometti l'ultima sezione, zero verrà formattato usando la prima sezione.
String.Format("{0:0.00;minus 0.00;zero}", 123.4567); // "123.46"
String.Format("{0:0.00;minus 0.00;zero}", -123.4567); // "minus 123.46"
String.Format("{0:0.00;minus 0.00;zero}", 0.0); // "zero"
sto usando Math.Round Method
Math.Round(yourdouble, 2)
è anche possibile specificare la regola di arrotondamento.
'myDouble.ToString (" 0.00 ");'? –
Puoi fornire un esempio più concreto, oltre a controllare le domande collegate nella parte destra della pagina sotto "Correlati". – ChrisF
@ Jeff M - Grazie! Ho pensato che zeri significava che sarebbe stato mostrato uno zero. – user70192