2012-11-08 91 views
7

thể trùng lặp:
Using String Format to show decimal upto 2 places or simple integer
How to set decimal point in 2 decimal places?Cách hiển thị số đến 2 chữ số thập phân trong mvc3, C#?

Tôi có lĩnh vực giá theo quan điểm của tôi. nó có các giá trị sau 2.5 and 44. Tôi muốn hiển thị giá trị này để 2.50 and 44.00 tôi sử dụng đoạn mã sau

@{decimal prolistprice = decimal.Parse(item.OtherFields["Price"].ToString());} 
    [email protected](prolistprice, 2, MidpointRounding.AwayFromZero) 

trong đó item.OtherFields["price"] is a object tôi chuyển nó sang chuỗi và sau đó thập phân

nhưng Math.round không hoạt động nó cho thấy 2.5 và chỉ 44 .. bất cứ ai có thể giúp này

+0

Tại sao tiêu đề nói "số nguyên"? –

+0

Bạn có thể theo dõi bài đăng này: http://stackoverflow.com/questions/6951335/using-string-format-to-show-decimal-upto-2-places-or-simple-integer –

+0

http://stackoverflow.com/questions/5428289/mvc3-decimal-truncated-to-2-decimal-places-on-edit – alexsuslin

Trả lời

24

Math.Round thực hiện điều đó - tròn.

Để định dạng số bạn có thể sử dụng .ToString(formatString) như vậy:

item.OtherFields["price"].ToString("0.00") 
+0

Không có phương pháp quá tải cho ToString mất 1 đối số – niico

+1

@niico có thể bạn đang gọi 'ToString' trên một loại nullable . Nếu vậy, bạn sẽ phải thực hiện 'youVariable.Value.ToString (" 0.00 ")'. Đừng quên để kiểm tra đầu tiên mặc dù! – PeteGO

4

này nên làm việc cho bạn

yourvalue.ToString ("0.00"); 
3
decimal dValue = 2.5; 
string sDisplayValue = dValue.ToString("0.00"); 
12

chức năng sử dụng định dạng chuỗi

1. string.Format("{0:n2}", 200000000.8776); 
2. string.Format("{0:n3}", 200000000.8776); 
3. string.Format("{0:n2}", 0.3); 

/* OUTOUT 
1. 200,000,000.88 
2. 200,000,000.878 
3. 0.30 
*/ 
Các vấn đề liên quan