web-dev-qa-db-ja.com

C#-数値サフィックス

重複の可能性:
10進型の宣言接尾辞

こんにちは、みなさん、

次のコードスニペットでは、 RewardValueは小数です:

dto.RewardValue = 1.5;

さて、これは私に次のエラーを与えます:

「ソースタイプdoubleをターゲットタイプdecimalに変換できません」

理にかなっており、コード行を次のように変更することで簡単に修正できます。

dto.RewardValue = 1.5m;

これで、「m」はそれを小数に変換し、すべてが正常です。

これらすべての「m」型演算子のリストがどこにあるか知っている人はいますか? (そして、それらの適切な用語が何であるかを私に知らせていただければ、それは大いにありがたいです)

編集:HCLとMartyIXに、これらが「サフィックス」と呼ばれていることを知らせてくれてありがとう

22
Jim B

あなたが探している用語は「サフィックス」だと思います。

例:

1;    // int
1.0;  // double
1.0f; // float
1.0m; // decimal
1u;   // uint
1L;   // long
1UL;  // ulong
20
Adam Robinson

本当に小さなリストです。

F:  float
D:  double
U:  uint
L:  long
UL: ulong
M:  decimal

もちろん、単純な整数値は、それ自体がintとして解釈されます。ただし、大きすぎてintにならない場合は、longです。ただし、大きすぎてlongの場合は、ulongです。 ulongに対して大きすぎる場合、(私が知る限り)リテラルとして使用することはできません。

小数点が含まれる値は、(自分で見つけたように)自動的にdoubleとして解釈されます。

15
Dan Tao

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;

2
Martin Vseticka

私はそれが「数値文字」と呼ばれていると信じています: http://www.blackwasp.co.uk/CSharpNumericLiterals.aspx

2
cirons42