2010-06-18 111 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表示货币值的数据类型错误。 – 2010-06-18 12:44:33

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

如果CurrentCulture已经是美国还有的不需要明确提供它。