¿Cómo cambiar la forma en que se muestra un dato numérico en un textbox?

publicado por: Anonymous

Estoy realizando unos calculos de :
descuento, itbis, efectivo, devuelta etc.
me realiza los calculos perfectamente pero en algunos casos cuando la cantidad da decimal con muchos numeros . los muestra todos en el textbox es decir fijense en el textbox con el label devuelta:introducir la descripción de la imagen aquí

Hay alguna forma de no mostrar tantos numeros o de redondear la cantidad?

        database.SoloNumeros(e);
        if (e.KeyChar == Convert.ToChar(Keys.Enter))
        {
            double efectivo, devuelta, total;
            efectivo = Convert.ToDouble(txtefectivo.Text);
            total = Convert.ToDouble(txttotal.Text);
            devuelta = efectivo - total;
            txtdevuelta.Text = devuelta.ToString();
            MessageBox.Show("Por su Compra Señor/a" + txtnombre.Text, 
            "Gracias", MessageBoxButtons.OK, MessageBoxIcon.Information);
            txtefectivo.Enabled = false;
         }

solución

La clase String.format permite formatear una cadena.

Para tu caso especifico, puedes formatear la cadena usando algo así:

String.Format("{0:G2}",VariableConValor)

con eso, obtendrías un numero de la forma 65.27

Si quieres mas decimales, solo aclaralos en el formato, reemplazando el 2 por la cantidad de decimales que quieras.

Mas información de formatos:

formatos numericos

Editado:

En el caso de tu codigo, deberia ser asi:

txtdevuelta.Text = String.Format("{0:G2}", devuelta);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *