Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: El_Marine en 4 Agosto 2006, 15:00 pm



Título: Problema al sumar 2 numeros en visual basic.
Publicado por: El_Marine en 4 Agosto 2006, 15:00 pm
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:

Código:
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.


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: whiskises en 4 Agosto 2006, 15:16 pm
estas sumando strings, conviertelos a integer o a long y ya esta
Código:
a=Cint(text1.text)+Cint(text2.text)
text10.Text=a
 ' Clng(text1.text)  para convertir a long
Salu2


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: El_Marine en 4 Agosto 2006, 15:31 pm
Me da error en tiempo de ejecucion '13' "No coinciden los tiempos"
este es el código que puse:

Código:
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


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: 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.

Código:
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


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: whiskises en 4 Agosto 2006, 15:47 pm
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
Código:
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


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: Hans el Topo en 4 Agosto 2006, 15:47 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.

Código:
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


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: El_Marine en 4 Agosto 2006, 15:49 pm
Perfecto! Muchisimas gracías a los 3, Gracias.

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

Saludos.


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: ReViJa en 4 Agosto 2006, 16:30 pm
Val() lo que hace es devolver los números contenidos en una cadena.


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: Hans el Topo en 4 Agosto 2006, 17:35 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"


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: El_Marine en 4 Agosto 2006, 18:11 pm
Como podria cojer y calcular numeros float? Espero vuestras respuestas,gracías


Título: Re: Problema al sumar 2 numeros en visual basic.
Publicado por: Robokop en 4 Agosto 2006, 23:47 pm
Como podria cojer y calcular numeros float? Espero vuestras respuestas,gracías
declarando la variable de los numeros float y sumandola .