C# - Numeric Suffixes [duplicate]

Possible Duplicate:
Declaration suffix for decimal type

Hey everyone,

In the following snippet of code; RewardValue is a decimal:

dto.RewardValue = 1.5;

Now, this gives me the following error:

"Cannot convert source type double to target type decimal"

Makes sense, and is easily fixable by changing that line of code to this:

dto.RewardValue = 1.5m;

Now, the "m" converts that to a decimal and all is good.

Does anybody know of somewhere where I could find a list of all those "m" type operators? (and if you could let me know what the proper term for those are, it would be greatly appreciated)

EDIT: Thanks to HCL and MartyIX for letting me know that these are referred to as "suffixes"

22
задан Community 23 May 2017 в 10:31
поделиться

4 ответа

На самом деле, это довольно маленький список.

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

Конечно, простое целочисленное значение само по себе интерпретируется как int, если только оно не слишком велико, чтобы быть int, в этом случае оно представляет собой long, если только он не слишком велик для лонга, в этом случае это улонг. Если он слишком велик для ulong, вы не можете использовать его как литерал (насколько мне известно).

Значение с десятичной точкой автоматически интерпретируется (как вы сами выяснили) как двойное число.

15
ответ дан 29 November 2019 в 04:50
поделиться

Я полагаю, что это называется "числовой литерал": http://www.blackwasp.co.uk/CSharpNumericLiterals.aspx

2
ответ дан 29 November 2019 в 04:50
поделиться

Я полагаю, что вы ищете термин "суффикс".

Примеры:

1;    // int
1.0;  // double
1.0f; // float
1.0m; // decimal
1u;   // uint
1L;   // long
1UL;  // ulong
20
ответ дан 29 November 2019 в 04:50
поделиться

http://dotnetperls.com/suffix-examples - называют просто числовые суффиксы (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;

Тип суффикса: float

Символ: F

Пример: float x = 100F;

Тип суффикса: double

Символ: D

Пример: double x = 100D;

Тип суффикса: десятичный

Символ: M

Пример: десятичный x = 100M;

2
ответ дан 29 November 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: