Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Erik# en 9 Diciembre 2008, 12:00 PM

Título: [Overflow] Error de overflow
Publicado por: Erik# en 9 Diciembre 2008, 12:00 PM
Hola, bueno, estuve haciendo unas multiplicaciones, y me da overflow cuando intento hacer esto:

Código (vb) [Seleccionar]
hora = Text2.Text * 3600000
minutos = Text3.Text * 60000


en hora puse 0 y minutos 1, bueno eso da igual, lo que pasa esque no me deja ponerle más de 6000 :S.
Título: Re: [Overflow] Error de overflow
Publicado por: ‭‭‭‭jackl007 en 9 Diciembre 2008, 12:33 PM
Hola, ten cuidado con los tipos, el textbox es string, y el numero es integer... son distintos asi que tienes que convertirlos al tipo adecuado para trabajar:

Código (vb) [Seleccionar]
hora = val(Text2.Text) * 3600000
minutos = val(Text3.Text) * 60000
Título: Re: [Overflow] Error de overflow
Publicado por: Erik# en 9 Diciembre 2008, 12:35 PM
Código (vb) [Seleccionar]
Dim hora As Integer
Dim minutos As Integer
hora = Val(Text2.Text) * 3600000
minutos = Val(Text3.Text) * 60000


Eso es lo que tengo puesto, y aun me da overflow.
Título: Re: [Overflow] Error de overflow
Publicado por: ‭‭‭‭jackl007 en 9 Diciembre 2008, 12:46 PM
[codevb]MsgBox Str(Val("727272") * 3600000)
funciona bien, valida los datos
Título: Re: [Overflow] Error de overflow
Publicado por: cobein en 9 Diciembre 2008, 14:36 PM
Un long es un signed 32-bit, asi que no podes pasarte de  el rango de valores que soporta
–2147483648 a +2147483647 .
Título: Re: [Overflow] Error de overflow
Publicado por: Erik# en 9 Diciembre 2008, 14:45 PM
Thx a todos.
Consegui arreglarlo.