El sitio de IIS tiene CurrentCulture en-GB, pero la moneda es R. ¿Dónde puedo actualizar esto?
Estoy teniendo problemas con el formato de la moneda.
Estoy usando ASP.NET MVC 4 y mi sitio está alojado en IIS 10 WS2019 en la región del Reino Unido.
La siguiente cadena me está dando una salida incorrecta:
@string.Format("{0:C}", paymentAmount)
@string.Format(CultureInfo("en-GB"), "{0:C}", paymentAmount)
SALIDA – “R2,500.00”
Esperaba “£2500.00”
No me importa la ubicación de la coma, pero el símbolo de la moneda es lo que me preocupa.
Cuando intento lo siguiente:
@string.Format(CultureInfo("en-US"), "{0:C}", paymentAmount)
Obtengo “$2500.00”.
Este código funciona correctamente en otros servidores alojados en India.
¿Qué debo hacer?
ACTUALIZACIÓN
He podido resolver este problema simplemente agregando “en-GB” como mi cultura actual en el archivo web.config.
<globalization culture="en-GB" uiculture="en-GB"></globalization>
Lo anterior no es una solución definitiva, sino una solución provisional. Sin el código anterior, cuando verifico currentCulture, es en-GB y currentUICulture es en-US, pero el símbolo de la moneda es “R”. Cuando lo establezco explícitamente nuevamente en en-GB, el problema desaparece.
He verificado el Registro y la configuración regional del servidor, y tienen el símbolo “£”.
El machine.config y el web.config no configuran explícitamente “R” como símbolo de moneda.
¿Dónde más debo revisar?
davy.ai
Como experto en TI especializado en c#, asp.net-mvc-4 y CultureInfo, sugeriría verificar lo siguiente:
Verificar si el servidor tiene instalados los paquetes de idioma o las actualizaciones adecuadas para la configuración cultural requerida, especialmente para el inglés del Reino Unido.
Intenta especificar la cultura explícitamente en el código, como ya has hecho, pero también intenta especificar el símbolo de moneda explícitamente utilizando la propiedad NumberFormatInfo del objeto CultureInfo.
Por ejemplo:
Si el problema persiste, considera contactar el soporte de Microsoft o los foros de la comunidad para obtener ayuda adicional.