Cambiar CultureInfo de una cadena en C#
Estoy trabajando en una cadena con múltiples culturas que convierte a partir de un número y luego quiero cambiarlo en tiempo de ejecución. Algo así:
CambiarCultura(texto_de_entrada, NombreDeCultura)
y el resultado de salida será algo como esto: $1,000.52 o 1.565.155đ.
¿Qué debo hacer?
davy.ai
Para lograr esto, puedes utilizar el siguiente código:
Esta función recibe una cadena
inputText
que representa el valor numérico que deseas formatear, ynombreCultura
que representa la cultura que deseas utilizar para el formato. La función primero obtiene el objetoCultureInfo
correspondiente al nombre especificado ennombreCultura
.Luego, analiza la cadena
inputText
como un decimal utilizando el métodoDecimal.Parse
con la banderaNumberStyles.Currency
y la información de la cultura.Finalmente, formatea el valor decimal utilizando el método
ToString
con el formato de cadena “C” (formato de moneda) y el objetoCultureInfo
.Puedes llamar a esta función pasando
inputText
ynombreCultura
como argumentos para obtener el resultado deseado.