none
Como puedo poner formato de moneda en c# a un text box

    Question

  • Hola, quiero poner formato de moneda y alinear a la derecha el contenido de un text box, pero no se como hacerlo , me gustaria que me dijeran como hacerlo por favor
    Sunday, July 21, 2013 11:13 PM

All replies

  • Hola

    Puedes usar algo como esto :

    private void txtLimiteCredito_Enter(object sender, EventArgs e)
            {
                // Referenciamos el control TextBox que ha desencadenado el evento
                TextBox tb = (TextBox) sender;
    
                // Mostramos en el control TextBox el valosr de la propiedad Tag sin formatear
                tb.Text = Convert.ToString(tb.Tag);
            }
    
            private void txtLimiteCredito_Leave(object sender, EventArgs e)
            {
                /* El control TextBox a perdido el foco
                 * referenciamos el control TextBox 
                 * que ha desencadenado el evento.
                 */
                TextBox tb = (TextBox) sender;
    
                // Primero verificamos si el valor se puede convertir a decimal
                decimal numero = default(decimal);
                bool bln = decimal.TryParse(tb.Text, out numero);
    
                if ((!bln))
                {
                    // No es un valor decimal válido, limpiamos el control
                    tb.Clear();
                    return;
                }
    
                // En la propiedad Tag guardamos el valor con todos los decimales
                tb.Tag = numero;
    
                // Y acto seguido formateamos el valor a monetario con dos decimales
                tb.Text = string.Format("{0:c2}", numero);
            }

    Para poner el texto a la derecha pon esto en tu evento Leave

    tutxt.TextAlign = HorizontalAlignment.Right;


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    Sunday, July 21, 2013 11:37 PM
  • hola

    solo como aclaracion recuerda que puede definir formatos existentes o personalizados si lo necesitas

    en este link toda la explicacion

    Cadenas con formato numérico estándar

    Cadenas con formato numérico personalizado

    ademas del string.Format() si ya tienes la variable numericos podrias usar directo el toString

    txtMonto.Text = monto.ToString("C2");

    por supuesto monto seria una variable decimal

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Monday, July 22, 2013 5:43 AM