example español colombia c# internationalization currency cultureinfo regioninfo

español - cultureinfo using c#



Mejores Prácticas-Formato de múltiples monedas (5)

Creo que esta Q es una respuesta excelente y clara en cuanto a QUÉ debes hacer

SO: formato de moneda adecuado cuando no se muestra la moneda nativa de una cultura

Y esta Q tiene una buena respuesta de CÓMO hacer esto en C #

SO - Formato de moneda

¿Cuál es la mejor práctica para el escenario enumerado a continuación?

Tenemos una aplicación que nos gustaría soportar múltiples monedas. El software respetará la configuración regional y regional de los usuarios para dictar el formato correcto del número, es decir, $ 10,000.00 o 10.000,00 ₴, etc.

Sin embargo, nos gustaría poder formatear diferentes números en función de una ID de moneda (quizás el código de tres letras ISO4217). Nuestra idea es almacenar una tabla en la base de datos con cada moneda y luego solicitar al usuario que seleccione el símbolo de moneda que se utilizará. El programa luego formateará todos los números según la configuración regional / regional, pero utilizará el símbolo de moneda como se define en nuestro programa.

Así, dados los siguientes valores y monedas.
10000 AUD
5989.34 USD
450 EUR

el programa saldría
$ 10,000.00
$ 5,989.34
450,00 €

o con una configuración regional que formó números como #####, ## $ el resultado sería;
10000,00 $
5989,34 $
450,00 €

Respetando el formato del número de región / región pero mostrando diferentes monedas, ¿cuál es la mejor práctica para esto?

Espero que esto tenga sentido.

La tecnología utilizada es c # .NET 2.0.


En lugar de almacenar solo el símbolo de moneda, puede almacenar la cadena cultural para cada código de moneda, por lo que AUD -> en-AU

CultureInfo ci = new CultureInfo("en-AU"); currencyValue.ToString( "c", ci );

No estoy seguro de cuánta flexibilidad hay en el formato disponible.

No estoy seguro si esto ayuda:

Formato de datos numéricos para una cultura específica


Me enfrenté a una situación similar. Encontré una manera, no sé cuán útil será para ti. Pero resolvió mis problemas. Establecí una cadena de sesión para cada lugar como Session ["cur"] = "0.000" o "0.00" para cada autenticación de inicio de sesión. Y donde sea que haya moneda en el sistema, utilicé .ToString [Session ["cur"]. ToString ()] para las variables del modelo. Hizo el truco para mí. Espero que te ayude también.


Parece que tiene un control sobre las mejores prácticas para formatear datos. Si fuera tú, me preocuparía menos por lo que técnicamente es el estándar, pero me centraré más en lo que están acostumbrados a tus usuarios.

Si está operando en mercados donde los usuarios son bastante conocedores de las diferentes monedas, es algo muy diferente a tener más usuarios monoculturales. Según el caso, deberá diseñar su interfaz de una manera diferente.

Además, si su requerimiento es mostrar cualquier moneda a cualquier localidad, el estándar ISO4217 es su mejor apuesta. Es lo que se muestra en las tiendas de cambio de divisas de todo el mundo, en los intercambios de divisas, las facturas, etc. De lo contrario, la visualización de los símbolos de moneda podría ser algo confusa para algunos usuarios y el símbolo por sí solo no indica qué moneda es realmente la cantidad.

También me referiría a las siguientes preguntas. No todos ellos se relacionan directamente con su problema, pero tienen muy buenas meta discusiones acerca de los problemas involucrados en el soporte de múltiples monedas.