2010-08-25 36 views
19

Possible Duplicate:
Declaration suffix for decimal typeC# - 数字后缀

嘿大家,

在下面的代码片段; RewardValue是一个小数:

dto.RewardValue = 1.5; 

现在,这给了我以下错误:

“无法转换源型双到目标类型十进制”

有道理,并且很容易可以解决的通过改变这行代码:

dto.RewardValue = 1.5m; 

现在,“m”将其转换为小数,并且都是好的。

有人知道某处我可以找到所有那些“m”型操作符的列表吗? (如果你可以让我知道什么是对那些在适当的期限是,这将不胜感激)

编辑:感谢HCL和MartyIX让我知道,这些被称为“后缀”

简称
+1

这个问题的答案在“欺骗”的问题被发现,但问题有更多的针对性。它明确要求小数后缀('decimal m = 2m;'),并要求提供所有“数字后缀”的列表。 Fwiw,2¢等 – ruffin 2016-09-30 13:26:39

回答

9

Here你会找到一个列表和链接。

1

http://dotnetperls.com/suffix-examples - 他们称之为简单numeric suffixeshttp://msdn.microsoft.com/en-us/library/b1e65aza(VS.71).aspx - 也后缀这里)

Suffix type: unsigned int

Character: U

Example: uint x = 100U;

Suffix type: long

Character: L

Example: long x = 100L;

Suffix type: unsigned long

Character: UL

Example: ulong x = 100UL;

Suffix type: float

Character: F

Example: float x = 100F;

Suffix type: double

Character: D

Example: double x = 100D;

Suffix type: decimal

Character: M

Example: decimal x = 100M;

16

我相信你正在寻找的术语是 “后缀”。

例子:

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

这是一个非常小的单子,真的。

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

当然本身是一个简单的积分值被解释为int,除非它是太大,是一个int在这种情况下,它是一个long,除非它太大了long在这种情况下,这是一个ulong。如果它对于ulong来说太大了,就不能将它用作文字(据我所知)。

带有小数点的值将自动解释为(如您自己发现的)double