2010-06-18 193 views
13

Tôi cần hiển thị giá trị dữ liệu theo định dạng tiền tệ của Hoa Kỳ. Có nghĩa là 190.8 sẽ hiển thị là $ 190,80. Vì một số lý do tôi không thể tìm ra cách để làm điều này. Lời khuyên nào?Hiển thị đơn vị tiền tệ trong C#

Trả lời

15

Bạn có thể xác định rõ ràng văn hóa Mỹ như sau:

string.Format(CultureInfo.GetCultureInfo("en-US"), "{0:C}", decimalValue) 

C chỉ ra định dạng tiền tệ mặc định cho nền văn hóa nhất định, trong trường hợp này chính xác những gì bạn đang sau. Nếu bạn muốn các ký hiệu tiền tệ của Mỹ với một định dạng số lục địa châu Âu (dấu phẩy thay vì thời gian) sau đó công việc của bạn sẽ khó khăn hơn tất nhiên ...

1

Standard Numeric Format Strings

decimal moneyvalue = 1921.39m; 
    string html = String.Format("Order Total: {0:C}", moneyvalue); 
    Console.WriteLine(html); 

hoặc

double value = 12345.6789; 
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));//CultureInfo.GetCultureInfo("en-US") 
// current culture is English (United States): 
//  $12,345.68 
0
String.Format("${0:n2}", 190.8m); 
+0

-1 cho loại dữ liệu sai cho giá trị tiền tệ. –

0
string usCurrency = (190.8m).ToString("c", CultureInfo.GetCultureInfo("en-US")); 
1
decimal d = 190.8M; 
string displayData = d.ToString("c"); 

Nếu bạn CurrentCulture đã là Mỹ có của không cần phải cung cấp nó một cách rõ ràng.

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