393

10 進数データ型を扱うには、変数の初期化でこれを行う必要があります。

decimal aValue = 50.0M;

Mの部分は何の略ですか?

4

5 に答える 5

462

他の人が言ったように、それは10進リテラルであることを意味します。ただし、起源はおそらく、この回答の他の場所で提案されているものではありません。C# Annotated Standard (MS バージョンではなく ECMA バージョン) から:

D/d は によって既に使用されているため、decimal接尾辞は M/mdoubleです。M はお金を表すと示唆されてきましたが、Peter Golde は M がdecimal.

byte同様の注釈では、C# の初期のバージョンには、shortリテラルの "Y" と "S" がそれぞれ含まれていたことに言及しています。それらはあまり役に立たないという理由で削除されました。

于 2009-06-10T19:05:57.217 に答える
25

M は、「10 進数」の最初のあいまいでない文字を指します。追加しない場合、数値は double として扱われます。

D は 2 倍です。

于 2009-06-10T18:54:51.107 に答える
12

M または m の接尾辞が付いた実数リテラルは、decimal (money)型です。たとえば、リテラル 1m、1.5m、1e10m、および 123.456M はすべて decimal 型です。このリテラルは、正確な値を取得することによって 10 進値に変換され、必要に応じて、バンカーの丸めを使用して最も近い表現可能な値に丸められます。値が丸められるか値がゼロでない限り、リテラルで明らかな位取りは保持されます (後者の場合、符号と位取りは 0 になります)。したがって、リテラル 2.900m は解析され、符号 0、係数 2900、位取り 3 の 10 進数が形成されます。

実数リテラルについてもっと読む

于 2016-03-28T00:52:31.777 に答える