In MSDN documentation they say the "D" (or "d") format specifier is both for decimal numbers and dates but in fact it only formats a date (see this question also):
string.Format("{0:d}", DateTime.Now) // Works
string.Format("{0:d}", 12.998m) // Exception
So, why is that and when is it possible to use it to format a decimal?