Multiplicacion

Iniciado por aspiazu, 17 Abril 2017, 21:08 PM

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

aspiazu

Mmmm alguien sabe que esta mal?? Tengo 8 textbox ,y un boton en el form.
Cuando escribes un numero en los textbox y das al boton quiero que el valor de cada texbox se multiplique por el valor que tienen puestos las variables.
Con el resultado ,quiero asignarlo a un label

Hace mucho que no programo en visual y estoy mas perdido..jajaja Se me hace muy raro programar ahora  :P

Código (vbnet) [Seleccionar]
Public Class Form1
   Dim Llamas As Double = 6.4
   Dim Simples As Double = 5
   Dim Vapor As Double = 24
   Dim Morteros As Double = 22.4
   Dim Misiles As Double = 28
   Dim Subs As Double = 20.2
   Dim Palas As Double = 6.4
   Dim Globos As Double = 28
   Dim Mantenimiento As Double = 16

   Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim total As Integer = (TextBox1.Text * Llamas) + (TextBox2.Text * Vapor) + (TextBox3.Text * Simples) + (TextBox4.Text * Morteros) + (TextBox5.Text * Misiles) +
           (TextBox6.Text * Subs) + (TextBox7.Text * Palas) + (TextBox8.Text * Globos) + (TextBox9.Text * Mantenimiento)
   End Sub
End Class

PalitroqueZ

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard

aspiazu

#2


esto me sale

Eleкtro

#3
Cita de: aspiazu en 17 Abril 2017, 21:08 PMTengo 8 textbox

En el código que has mostrado, son nueve.

Cita de: aspiazu en 17 Abril 2017, 22:18 PMesto me sale

El mensaje de error de la excepción es auto-descriptivo, te está advirtiendo de que una cadena vacía de texto ("") no se puede tratar como un número entero, por ende, ¿qué es lo que debes evitar hacer para que no te siga apareciendo esa excepción?: no intentar convertir un String vacío a Integer. Revisa los valores que hayas escrito en esos nueve textboxes.

De todas formas, en lugar de intentar sumar directamente strings deberías añadir un control de errores para asegurarte de que no haya valores vacíos, y con el uso de la función Integer.TryParse()/Double.TryParse() asegurarte de que todos los valores que se hayan escrito sean convertibles.

Además de eso, la variable "total" debería ser del tipo Double, luego si quieres ya la representarás como un valor entero pero esa variable debería ser declarada como Double para evitar posibles errores de capacidad aritmética, puesto que estás tratando todos los valores del cálculo/suma como Double...

Por último, te sugiero que actives las sentencias Option correspondientes en el código fuente para que te sirvan como una ayuda visual de los errores que estás cometiendo en ese código:

Código (vbnet) [Seleccionar]
Option Strict On
Option Explicit On
Option Infer Off

Public Class Form1
' ...
End Class


Saludos.