2010-08-25 59 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