2010-06-18 5 views
13

Мне нужно отобразить данные в формате валюты США. Значение 190.8 должно отображаться как 190.80. По какой-то причине я не могу понять, как это сделать. Любой совет?Отображение валюты в C#

ответ

15

Вы можете явно указать культуру США, как так:

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

: C указывает формат по умолчанию для указанной культуры, в этом случае именно то, что вам нужно. Если вы хотите, символ валюты США с континентальным формате европейского номера (запятая вместо периода), то ваша работа будет сложнее конечно ...

1

Standard Numeric Format Strings

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

или

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 для неправильного типа данных для значения валюты. –

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

Если ваш CurrentCulture уже США там нет необходимости явно его предоставлять.

Смежные вопросы