2012-10-24 18 views
29

Ho appena notato po 'del mio codice utilizza:Qual è la differenza tra ToString ("D2") .ToString ("00")

ToString("D2") 

e altri usi:

.ToString("00") 

Entrambi stanno essendo utilizzato per convertire i numeri da 0 a 99 in stringhe da 00 a 99. Si tratta di stringhe in cui i numeri 0-9 hanno uno zero iniziale.

Entrambi questi metodi fanno la stessa cosa?

+0

Sono stato in grado di stampare un valore 'int' di 1000, che supera il" 0 a 99 "di cui si parla. 'int num = 1000; Console.WriteLine ("num.toString (\" D2 \ ") =" + num.ToString ("D2")); '// stampa" num.toString ("D2") = 1000 " –

risposta

30

È una domanda interessante. L'unica differenza che ho trovato finora è:

formato "D2" accetta solo valori di tipo intero. Dove il formato "00" funzionerebbe anche con i float/doubles.

Format D - MSDN

sostenuto da: unici tipi Integral.

Considerate i seguenti tre linee:

double d = 23.05123d; 
int i = 3; 
Console.Write(i.ToString("D2")); 
Console.Write(d.ToString("00")); 
Console.Write(d.ToString("D2")); //this will result in exception: 
           //Format specifier was invalid. 
8

Da MSDN Custom Numeric Format Strings:

L'identificatore "00" fa sì che il valore da arrotondare alla cifra più vicina precedente decimale, dove arrotondamento distanza da zero è sempre usato. Ad esempio, formattazione 34.5 con "00" comporterebbe il valore 35.

E MSDN Standard Numeric Format Strings:

L'identificatore di precisione indica il numero minimo di cifre desiderate nella stringa risultante. Se necessario, il numero viene riempito con zeri alla sua sinistra per produrre il numero di cifre indicato dallo specificatore di precisione.

Quindi, per rispondere alla tua domanda, in base ai documenti questi non specificamente fanno la stessa cosa, ma in voi caso è possibile che essi sono destinati a. Ad esempio:

double d = 3.678; 
Console.WriteLine(d.ToString("00")); 
Console.WriteLine(4.ToString("D2")); 

Entrambi stampa 04. Immagino che quei due formati vengano usati perché D2 non è valido per i doppi.

Problemi correlati