La cadena de entrada no tiene el formato correcto. C#.net

Iniciado por daost, 21 Marzo 2021, 04:39 AM

0 Miembros y 1 Visitante están viendo este tema.

daost

Hola tengo un problema con un codigo el error que me tira es: La cadena de entrada no tiene el formato correcto.
les dejo el codigo
ANDA PERO CUANDO INTENTO USAR UN DECIMAL ME TIRA ERROR SIENDO QUE PUSE LAS VARIABLES EN FLOAT.
(tengo unas variables en 0 que no  uso ya lo se)

Código (csharp) [Seleccionar]
private void btnCalcular_Click(object sender, EventArgs e)
        {
            float consumow = Convert.ToInt32(txtboxConsumowats.Text);
            float preciokwh = Convert.ToInt32(txtboxPreciokwh.Text);
            float p = Convert.ToInt32(txtboxPorcentajeimpuesto.Text);
            float total24 = 0;
            float total30 = 0;
            float cuenta24 = 0;
            float mes = 0;
            float total = 0;

            total24 = (consumow  / 1000) *24 * preciokwh * (1 + p / 100);

            listbox24hrs.Items.Add(total24.ToString());
}
               

EdePC

Si intentas convertir a Entero algo que no es Entero, pues da error. Como ya tienes la variable como Float mejor de una lo conviertes a Float (en C# el Single es Float y viceversa):

Código (csharp) [Seleccionar]
float consumow = Convert.ToSingle(txtboxConsumowats.Text);

PERO mucho ojo con el formato de número del sistema operativo, ya que si se usan otros caracteres dará error. Normalmente se suele tener como caracteres válidos (además de los números) al punto ( . ) para decimales y a la coma ( , ) para separador de miles, O a la coma ( , ) para decimales y al espacio ( ) para separador de miles.

daost

genioooo me sirvio eso no sabia ese metodo de conversion graciasss!!