none
Calcular campos cantidad por precio RRS feed

  • Pregunta

  • buenas foreros

    si me pueden ayudar por fa resulta que estoy tratando de calcular los campos cantidad por precio

    y mostralo en campo txttotal pero me manda un error un valor del tipo doble no se puede convertir

    System.web.ui.webcontrols.texbox

    Protected Sub TxtCantidad_TextChanged(sender As Object, e As System.EventArgs) Handles TxtCantidad.TextChanged TxtTotal = Val(TxtCantidad.Text) * Val(TxtPrecio.Text) End Sub


    lunes, 23 de marzo de 2015 19:28

Respuestas

  • Deberías comprobar también que los valores de los otros textbox sean correctos.

    Y puedes utilizar el mismo controlador de eventos para los dos textbox:

        Private Sub TxtCantidadPrecio_TextChanged(sender As Object, e As EventArgs) Handles TxtPrecio.TextChanged, TxtCantidad.TextChanged
            Dim cantidad As Double, precio As Double
            If (Double.TryParse(TxtCantidad.Text, cantidad) And Double.TryParse(TxtPrecio.Text, precio)) Then
                TxtTotal.Text = (cantidad * precio).ToString()
            End If
        End Sub

    • Marcado como respuesta djnilo martes, 24 de marzo de 2015 13:08
    lunes, 23 de marzo de 2015 20:18
  • hola

    lo primero que aconsejaria es que habilites el Option Strict en vb.net de esta forma el compilador validara la conversion de tipos

    entonces deberias hacer

    Dim total As Integer = Convert.ToInt32(TxtCantidad.Text) * Convert.ToInt32(TxtPrecio.Text)

    TxtTotal.Text = total.ToString()

    una duda la cantidad es un valor entero o permite decimales ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta djnilo martes, 24 de marzo de 2015 13:08
    lunes, 23 de marzo de 2015 20:22

Todas las respuestas

  • Creo que lo que te falta es la propiedad .text de la caja de texto

    txtTotal.text = .....;


    Roy Sillerico

    lunes, 23 de marzo de 2015 19:48
  • Ha y tambien no te olvides que el resultado final debes convertilo a texto, en c# es con la funcion ToString().

    Roy Sillerico

    lunes, 23 de marzo de 2015 20:01
  • gracias por responder
    lunes, 23 de marzo de 2015 20:04
  • Deberías comprobar también que los valores de los otros textbox sean correctos.

    Y puedes utilizar el mismo controlador de eventos para los dos textbox:

        Private Sub TxtCantidadPrecio_TextChanged(sender As Object, e As EventArgs) Handles TxtPrecio.TextChanged, TxtCantidad.TextChanged
            Dim cantidad As Double, precio As Double
            If (Double.TryParse(TxtCantidad.Text, cantidad) And Double.TryParse(TxtPrecio.Text, precio)) Then
                TxtTotal.Text = (cantidad * precio).ToString()
            End If
        End Sub

    • Marcado como respuesta djnilo martes, 24 de marzo de 2015 13:08
    lunes, 23 de marzo de 2015 20:18
  • hola

    lo primero que aconsejaria es que habilites el Option Strict en vb.net de esta forma el compilador validara la conversion de tipos

    entonces deberias hacer

    Dim total As Integer = Convert.ToInt32(TxtCantidad.Text) * Convert.ToInt32(TxtPrecio.Text)

    TxtTotal.Text = total.ToString()

    una duda la cantidad es un valor entero o permite decimales ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta djnilo martes, 24 de marzo de 2015 13:08
    lunes, 23 de marzo de 2015 20:22