Von MSDN Custom Numeric Format Strings:
Die "00" Spezifizierer bewirkt, dass der Wert auf die nächste digit vor der Dezimalstelle gerundet werden, wobei Rundung entfernt von Null wird immer verwendet. Zum Beispiel würde die Formatierung mit 34,5 „00“ führen, in dem Wert 35.
Und MSDN Standard Numeric Format Strings:
Der Genauigkeitsbezeichner zeigt die minimale Anzahl von Ziffern in der resultierenden Saite gewünscht wird. Falls erforderlich, wird die Zahl links von Nullen aufgefüllt, um die Anzahl der Ziffern zu erzeugen, die vom Präzisionsspezifizierer angegeben werden.
So Ihre Frage zu beantworten, nach dem docs diese nicht speziell das gleiches tun, aber in ihrem Fall ist es möglich, dass sie zu sollen. Zum Beispiel:
double d = 3.678;
Console.WriteLine(d.ToString("00"));
Console.WriteLine(4.ToString("D2"));
Beide werden 04
ausgedruckt. Ich könnte mir vorstellen, dass diese beiden Formate verwendet werden, weil D2
nicht für Doppel gültig ist.
Ich konnte einen "int" Wert von 1000 drucken, der die von Ihnen erwähnte "0 bis 99" überschreitet. 'int num = 1000; Console.WriteLine ("num.toString (\" D2 \ ") =" + num.ToString ("D2")); '// druckt" num.toString ("D2") = 1000 " –