es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, puedes utilizar el siguiente código:

    public string CambiarCultura(string inputText, string nombreCultura)
    {
        CultureInfo cultureInfo = CultureInfo.GetCultureInfo(nombreCultura);
        decimal number = Decimal.Parse(inputText, NumberStyles.Currency, cultureInfo);
        return number.ToString("C", cultureInfo);
    }
    

    Esta función recibe una cadena inputText que representa el valor numérico que deseas formatear, y nombreCultura que representa la cultura que deseas utilizar para el formato. La función primero obtiene el objeto CultureInfo correspondiente al nombre especificado en nombreCultura.

    Luego, analiza la cadena inputText como un decimal utilizando el método Decimal.Parse con la bandera NumberStyles.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 objeto CultureInfo.

    Puedes llamar a esta función pasando inputText y nombreCultura como argumentos para obtener el resultado deseado.

Comments are closed.