重複の可能性:
10進型の宣言接尾辞
こんにちは、みなさん、
次のコードスニペットでは、 RewardValueは小数です:
dto.RewardValue = 1.5;
さて、これは私に次のエラーを与えます:
「ソースタイプdoubleをターゲットタイプdecimalに変換できません」
理にかなっており、コード行を次のように変更することで簡単に修正できます。
dto.RewardValue = 1.5m;
これで、「m」はそれを小数に変換し、すべてが正常です。
これらすべての「m」型演算子のリストがどこにあるか知っている人はいますか? (そして、それらの適切な用語が何であるかを私に知らせていただければ、それは大いにありがたいです)
編集:HCLとMartyIXに、これらが「サフィックス」と呼ばれていることを知らせてくれてありがとう
あなたが探している用語は「サフィックス」だと思います。
例:
1; // int
1.0; // double
1.0f; // float
1.0m; // decimal
1u; // uint
1L; // long
1UL; // ulong
本当に小さなリストです。
F: float
D: double
U: uint
L: long
UL: ulong
M: decimal
もちろん、単純な整数値は、それ自体がint
として解釈されます。ただし、大きすぎてint
にならない場合は、long
です。ただし、大きすぎてlong
の場合は、ulong
です。 ulong
に対して大きすぎる場合、(私が知る限り)リテラルとして使用することはできません。
小数点が含まれる値は、(自分で見つけたように)自動的にdouble
として解釈されます。
http://dotnetperls.com/suffix-examples -彼らはそれを単にnumeric suffixes
と呼んでいます( http://msdn.Microsoft.com/en-us/library/b1e65aza (VS.71).aspx -ここにも接尾辞)
サフィックスタイプ:unsigned int
キャラクター:U
例:uint x = 100U;
接尾辞タイプ:長い
キャラクター:L
例:long x = 100L;
サフィックスタイプ:unsigned long
キャラクター:UL
例:ulong x = 100UL;
接尾辞タイプ:フロート
キャラクター:F
例:float x = 100F;
サフィックスタイプ:ダブル
キャラクター:D
例:double x = 100D;
サフィックスタイプ:10進数
キャラクター:M
例:10進数x = 100M;
私はそれが「数値文字」と呼ばれていると信じています: http://www.blackwasp.co.uk/CSharpNumericLiterals.aspx