Отображение валюты в С#

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

Ответы

Ответ 1

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

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

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

Ответ 2

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

   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

Ответ 3

 decimal d = 190.8M;
 string displayData = d.ToString("c");

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

Ответ 4

String.Format("${0:n2}", 190.8m);

Ответ 5

string usCurrency = (190.8m).ToString("c", CultureInfo.GetCultureInfo("en-US"));