Отображение валюты в C # - PullRequest
13 голосов
/ 18 июня 2010

Мне нужно отобразить значения данных в формате валюты США. Значение 190,8 должно отображаться как $ 190,80. По какой-то причине я не могу понять, как это сделать. Любой совет?

Ответы [ 5 ]

15 голосов
/ 18 июня 2010

Вы можете явно указать культуру США следующим образом:

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

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

1 голос
/ 18 июня 2010
 decimal d = 190.8M;
 string displayData = d.ToString("c");

Если ваш CurrentCulture уже США, вам не нужно явно указывать его.

1 голос
/ 18 июня 2010

Стандартные строки числового формата

   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 голосов
/ 18 июня 2010
string usCurrency = (190.8m).ToString("c", CultureInfo.GetCultureInfo("en-US"));
0 голосов
/ 18 июня 2010
String.Format("${0:n2}", 190.8m);
...