none
Formato de moneda para Textbox C# RRS feed

  • Pregunta

  • Hola que tal, tengo un problema al cambiar el formato de texto de un Textbox tengo el siguiente método para convertir a formato "Currency" :

            private void t_AbonoTb_Leave(object sender, EventArgs e)
            {
                decimal x = 0m;
                if(t_AbonoTb.Text != "")
                {
                    var data = string.Format("{0,12:C}", x = decimal.Parse(t_AbonoTb.Text));
                    t_AbonoTb.Text = data.ToString();
                }
                    
            }

    Se suponer que debería obtener una salida como esta: $0.00 Por ej.

    pero al contrario tengo esta: XDR0.00 
    No se si estoy omitiendo el uso de una librería o algo en mi método esta mal asignado

    Les agradezco de antemano la respuesta de la duda. Buen Día

    viernes, 10 de abril de 2020 1:22

Todas las respuestas

  • No, no es una librería. Casi seguro que el problema está en la configuración regional. Debes tener configurado en el Panel de Control de ese ordenador un formato de moneda que usa "XDR" en lugar de "$", y por eso te sale XDR0.00 en lugar de $0.00 al aplicar el string.Format con formato C ("Currency").

    Si no puedes cambiar la configuración del equipo, y quieres forzar a tu programa a que opere con una configuración regional concreta, puedes forzarla asignándola al CurrentCulture:

    System.Treading.Thread.CurrenThread.CurrentCulture = new CultureInfo("en-US");

    Ejecuta eso antes de aplicar el format, y entonces usará el formato "inglés de Estados Unidos" (en-US) que usa el $ como símbolo de moneda.

    viernes, 10 de abril de 2020 9:52
    Moderador
  • Hola Manuel Sahagún

     

    ¿Alguna actualización sobre la consulta realizada? ¿Alguna de las respuestas proporcionadas te ayudó?

     

    Espero tu respuesta.

     

    Gracias por usar los foros de MSDN.

     

     

    Luis Diego Mora

     

    --------------------------------------------------------------------------

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 13 de abril de 2020 13:48
    Moderador