Problema al sumar 2 numeros en visual basic.

Iniciado por El_Marine, 4 Agosto 2006, 15:00 PM

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

El_Marine

Hola,tengo unr problema en visual basic, y es el siguiente, yo tengo 3 campos de texto, ycuando en el command1 le digo que los sume, si en los texts puse 5 5 5, me los suma asi: 555... y no encuentro la manera de que me los sume... este es el codigo:

Private Sub Command1_Click()
Text10.Text = Text1.Text + Text2.Text + Text3.Text
End Sub

Private Sub Form_Load()
Dim a As Long
Dim b As Long
Dim c As Long
Dim d  As Long
End Sub



Espero sus respuestas,saludos.

whiskises

#1
estas sumando strings, conviertelos a integer o a long y ya esta

a=Cint(text1.text)+Cint(text2.text)
text10.Text=a
' Clng(text1.text)  para convertir a long

Salu2

El_Marine

Me da error en tiempo de ejecucion '13' "No coinciden los tiempos"
este es el código que puse:

Private Sub Command1_Click()
Text10.Text = Text1.Text + Text2.Text + Text3.Text
End Sub

Private Sub Form_Load()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
a = CInt(Text1.Text) + CInt(Text2.Text)
Text10.Text = a
End Sub

soplo

Hola

Cint(text1.text) cogerá lo que haya en text1 y lo convertirá a entero.

Pero obviamente si no se puede te dará un error.

Podía pasar esto si por ejemplo text1="". en este caso cint(text1) es cint("") y eso da error.

text1=iif(not isnumeric(text1),0,text1)
text2=iif(not isnumeric(text2),0,text2)
text3=iif(not isnumeric(text3),0,text3)
text10=cint(text1)+cint(text2)+cint(text3)


Un saludo
Callar es asentir ¡No te dejes llevar!

whiskises

Si lo pones en el load, y tienes en el texto: text1 o vacio ,esta claro que no es un integer, y produce un error . ponlo en el boton
Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
a = CInt(Text1.Text) + CInt(Text2.Text)
Text10.Text = a
End Sub


Hans el Topo

Cita de: soplo en  4 Agosto 2006, 15:44 PM
Hola

Cint(text1.text) cogerá lo que haya en text1 y lo convertirá a entero.

Pero obviamente si no se puede te dará un error.

Podía pasar esto si por ejemplo text1="". en este caso cint(text1) es cint("") y eso da error.

text1=iif(not isnumeric(text1),0,text1)
text2=iif(not isnumeric(text2),0,text2)
text3=iif(not isnumeric(text3),0,text3)
text10=cint(text1)+cint(text2)+cint(text3)


Un saludo

puedes usar la funcion val() en vez de cint... pero tiene algunas diferencias
 

El_Marine

#6
Perfecto! Muchisimas gracías a los 3, Gracias.

PD: para que sirve la funcíon val? y que diferencias tiene?

Saludos.

ReViJa

Val() lo que hace es devolver los números contenidos en una cadena.

Hans el Topo

Cita de: Tesis en  4 Agosto 2006, 16:30 PM
Val() lo que hace es devolver los números contenidos en una cadena.


val() lo que hace es buscar hasta encontrar cualquier cosa que no sea un número

val("123SODOMITA")-> devuelve "123"
val("1.23")-> devuelve "1"
 

El_Marine

Como podria cojer y calcular numeros float? Espero vuestras respuestas,gracías