Я должен отобразить значения данных в американском формате валюты. Значение 190.8 должно отобразиться как 190,80$. По некоторым причинам я не могу выяснить, как сделать это. Совет?
Вы можете явно указать культуру США следующим образом:
string.Format(CultureInfo.GetCultureInfo("en-US"), "{0:C}", decimalValue)
C указывает формат валюты по умолчанию для указанной культуры в этот случай именно то, что вам нужно. Если вам нужен символ валюты США в континентальном европейском числовом формате (запятая вместо точки), то ваша работа, конечно, будет сложнее ...
Строки стандартного числового формата
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
string usCurrency = (190.8m).ToString("c", CultureInfo.GetCultureInfo("en-US"));
decimal d = 190.8M;
string displayData = d.ToString("c");
Если ваша CurrentCulture
уже является американской, нет необходимости явно указывать ее.