Отображение валюты в С#
Мне нужно отображать значения данных в формате валюты США. Значение 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"));