2009-04-17 21 views
7

Estoy usando una red de información de infragistics y necesito formatear una cadena de moneda. Para esto necesito una cadena que contenga un patrón como "$ ### ###, 00" y me gustaría que esto salga de mi CultureInfo actual. ¿Cómo puedo hacer esto? ¿Es necesario para componer manualmente desde la info en:Cadena de formato de moneda en asp.net

CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSeparator 
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSizes 
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalDigits 
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalSeparator 

etc etc etc

¿Está la solución de una línea?

Respuesta

1

gracias por todas sus respuestas. Resulta que mis requisitos eran incorrectos. La cuadrícula infragística no quiere que una cadena de patrones sepa qué separadores usan, utiliza la cadena de patrones para decimales y demás y luego consulta la cultura actual sobre el resto. Por lo tanto, no es un problema. gracias de todos modos!

10
decimal moneyvalue = 1921.39m; 
string s = String.Format("{0:C}", moneyvalue); 

Se usará la cultura actual.

Asegúrese de tener lo siguiente en su web.config:

<system.web> 
    <globalization culture="auto" uiCulture="auto"/> 
</system.web> 

o como ck sugiere, declarar el equivalente, en su página

+0

bien, no del todo. No quiero hacer la conversión real, solo obtengo la cadena del patrón. Me gusta esto: cadena myPattern = CreateCurrencyPattern (myCurrentCulture); y luego myPattern contendría "$ ###, ###, ###. 00" con o sin el símbolo de moneda. –

+0

Esta respuesta no proporciona el resultado solicitado. –

0

Agregando a la respuesta de Greg Dean, es posible que necesite tener

Culture="auto" UICulture="auto" 

en la declaración @Page de su página.

0

Primero: si es específico de una cultura, ¿por qué no usar "C" como cadena de formato y, por lo tanto, usar el formato de moneda de la cultura?

Custom numeric format strings no tienen un token de moneda; Sospecho, sin embargo, que podría agregar el currency symbol a la cadena que obtiene formateando con "### ###, 00".

0

Tuvimos requisitos casi similares en nuestro proyecto. lo que hicimos fue utilizar el control de infrasurística de webcurrency, establecerlo como editorcontrol para la columna para la que se tenía que mostrar la moneda y luego establecer la cultura del control de webcurrencyedit.

Cuestiones relacionadas