2010-06-18 34 views
13

Necesito mostrar valores de datos en formato de moneda estadounidense. El significado 190.8 debería aparecer como $ 190.80. Por alguna razón, no puedo entender cómo hacer esto. ¿Algún consejo?Mostrando moneda en C#

Respuesta

15

Podría especificar explícitamente la cultura de Estados Unidos, así:

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

La C indica el formato de moneda por defecto de la referencia cultural especificada, en este caso es exactamente lo que buscas. Si desea que el símbolo de moneda de Estados Unidos con un formato de número de la Europa continental (coma en lugar del período) entonces su trabajo sería más difícil, por supuesto ...

1

Standard Numeric Format Strings

decimal moneyvalue = 1921.39m; 
    string html = String.Format("Order Total: {0:C}", moneyvalue); 
    Console.WriteLine(html); 

o

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 para el tipo de datos incorrecto para un valor de moneda. –

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

Si su CurrentCulture ya es de Estados Unidos Hay no es necesario proporcionarlo explícitamente.