2010-08-25 34 views
19

Possible Duplicate:
Declaration suffix for decimal typeC# - Numeric hậu tố

Hey mọi người,

Trong đoạn mã sau đây; RewardValue là một số thập phân:

dto.RewardValue = 1.5; 

Bây giờ, điều này mang lại cho tôi những lỗi sau:

"Không thể chuyển đổi loại nguồn kép nhắm mục tiêu loại thập phân"

Làm cho cảm giác, và có thể dễ dàng fixable bằng cách thay đổi đó dòng mã này:

dto.RewardValue = 1.5m; 

Bây giờ, "m" chuyển đổi thành số thập phân và tất cả đều tốt.

Có ai biết một nơi nào đó nơi tôi có thể tìm thấy danh sách tất cả các toán tử loại "m" đó không? (Và nếu bạn có thể cho tôi biết những gì thuật ngữ thích hợp cho những người đang có, nó sẽ được đánh giá cao)

EDIT: Nhờ HCL và MartyIX đã cho tôi biết rằng đây là gọi là "hậu tố"

+1

Câu trả lời cho điều này được tìm thấy tại câu hỏi "dupe" , nhưng câu hỏi được hỏi có nhiều mục tiêu hơn. Nó yêu cầu một cách rõ ràng chỉ cho hậu tố thập phân ('decimal m = 2m;'), và điều này yêu cầu một danh sách tất cả các "hậu tố dạng số". Fwiw, 2 ¢, v.v. – ruffin

Trả lời

9

Here bạn sẽ tìm thấy danh sách và các liên kết.

1

http://dotnetperls.com/suffix-examples - họ gọi nó đơn giản là numeric suffixes (http://msdn.microsoft.com/en-us/library/b1e65aza(VS.71).aspx - cũng hậu tố ở đây)

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

Tôi tin rằng thuật ngữ bạn đang tìm kiếm là "hậu tố".

Ví dụ:

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

Đó là một danh sách khá nhỏ, thực sự.

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

Tất nhiên một giá trị không thể thiếu đồng bằng bởi chính nó được hiểu như là một int, trừ khi nó quá lớn để trở thành một int trong trường hợp này đó là một long, trừ khi nó quá lớn cho một long trong trường hợp này đó là một ulong. Nếu nó quá lớn cho một ulong, bạn không thể sử dụng nó như một chữ (theo như tôi biết).

Giá trị có dấu thập phân trong đó được tự động diễn giải (như bạn đã phát hiện ra cho chính mình) dưới dạng double.

Các vấn đề liên quan