在MSDN文档中,他们说“D”(或“d”)格式说明符适用于decimal numbers和dates,但实际上它只格式化日期(另请参阅this question ):
string.Format("{0:d}", DateTime.Now) // Works
string.Format("{0:d}", 12.998m) // Exception
那么,为什么会这样,何时可以用它来格式化小数?
答案 0 :(得分:4)
您链接到的文档在这一点上非常明确 - D
仅由整数类型支持
" D" (或十进制)格式说明符将数字转换为十进制数字(0-9)的字符串,如果数字为负数,则以减号为前缀。 仅对整数类型支持此格式。
来源:https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx#DFormatString