2017-02-14 146 views
-1

在MSDN文檔他們說,「d」(或「d」)格式說明既是decimal numbersdates但實際上它只是格式化日期(見this question也):C#字符串「d」格式說明

string.Format("{0:d}", DateTime.Now) // Works 
string.Format("{0:d}", 12.998m) // Exception 

那麼,這是什麼原因,當是有可能用它來格式化小數?

+0

文檔中它在哪裏說,'D'符也是十進制數? –

+0

@JayGould - *格式字符串*區分大小寫。你會得到完全相同的情況,從VB.Net進行相同的調用,這通常被認爲是不區分大小寫的語言。 –

+0

@ LasseV.Karlsen,看第一張表[這裏](https://msdn.microsoft.com/en-us/library/dwhawy9k(v = vs.110).aspx#DFormatString),第二行,第二列,它清楚地說'Decimal';) – Sinatr

回答

4

您鏈接到該文檔在這一點上很清楚 - D僅由整型

的「d」(或十進制)格式說明符將數字轉換爲十進制數字字符串支持(0 -9),如果數字爲負數,則以負號爲前綴。 此格式僅支持整數類型。

來源:https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx#DFormatString

+0

謝謝Jamiec,我沒有注意到,仍然比較混亂,雖然,在我看來。他們本可以用另一封信。 :) – bcl

+0

@drevis是,有一個名爲「十進制」只對整型有用的格式有點.....混亂。 – Jamiec