フォーマット指定子の両方decimal numbersとdatesのためですが、実際にはそれが唯一の日付をフォーマット(もthis questionを参照してください):C#文字列「D」書式指定子
string.Format("{0:d}", DateTime.Now) // Works
string.Format("{0:d}", 12.998m) // Exception
それでは、それはなぜですか、それを使用して小数点をフォーマットすることが可能なのですか?
フォーマット指定子の両方decimal numbersとdatesのためですが、実際にはそれが唯一の日付をフォーマット(もthis questionを参照してください):C#文字列「D」書式指定子
string.Format("{0:d}", DateTime.Now) // Works
string.Format("{0:d}", 12.998m) // Exception
それでは、それはなぜですか、それを使用して小数点をフォーマットすることが可能なのですか?
あなたがにリンクされているドキュメントは、この点ではかなりはっきりしている - D
が唯一の整数型
「D」(または10進数)書式指定子は、小数点以下の桁の数値を文字列に変換することによってサポートされています(0 -9)、数字が負の場合は負の符号が前に付いています。 この形式は、整数型に対してのみサポートされています。
出典:https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx#DFormatString
ドキュメントで、それは 'D '指定子10進数にもあると言うのでしょうか? –
@JayGould - *書式文字列*は大文字と小文字が区別されます。 VB.Netからこれらの同じ呼び出しを行うのとまったく同じ状況になります。これは、大文字と小文字を区別しない言語とみなされます。 –
@ LasseV.Karlsen、最初のテーブル[ここ](https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110)aspx#DFormatString)、2行目、2列目、 – Sinatr