Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

sumar double

Estas en el tema de sumar double en el foro de Visual Basic clásico en Foros del Web. Hola que tal? Bueno, haciando una aplicacion sencilla con VB 2005 me tope con un problema, resulta que para un ciclo for, comienzo con una ...
  #1 (permalink)  
Antiguo 19/08/2007, 18:53
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
sumar double

Hola que tal?
Bueno, haciando una aplicacion sencilla con VB 2005 me tope con un problema, resulta que para un ciclo for, comienzo con una variable num1 = 1 y quiero que termine en 8, pero en vez de aumentar de 1 en 1, lo hago de 0.1. Es decir, queda asi:

Código:
For num1 as Double = 1 To 8 Step 0.1
instrucciones
Next
La variable num1, quiero usarla dentro de las instrucciones, por lo tanto necesito que a medida que el ciclo fluya esta valla cambiando de valor, es decir; 1 -> 1.1 -> 1.2 -> ... -> 7.9 -> 8.0

El problema esta en que a medida que el valor va aumentado, llega un momento en que la variable vale, por ejemplo 6.199999999 (6.1) -> 6.299999999 (6.2).
Entonces lo que quier es saber de que forma arreglar eso, para que me muestre el valor de acuerdo a lo que quiero.

Probe con redondear el numero, pero si se fijan, en el ejemplo 6.199999999, lo redondea a 6.2, siendo que deberia ser 6.1.

Alguna solucion?
  #2 (permalink)  
Antiguo 20/08/2007, 01:31
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: sumar double

Prueba esto:

Dim num As Double
For num1 = 1 To 2 Step 0.1
MsgBox num1
Next

Un saludo
  #3 (permalink)  
Antiguo 20/08/2007, 01:51
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: sumar double

No le has resuelto nada, haz la prueba incrementando a un valor superior a 6 y veras la parrafada de decimales que salen...

Una de las maneras seria así:
Código:
For num1 As Decimal = 1 To 8 Step 0.1

Saludos
  #4 (permalink)  
Antiguo 20/08/2007, 03:01
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: sumar double

Hola

Prueba con darle formato para que te muestre solo un decimal.

Código:
Format(num1, "0.0")
--Saludos--
  #5 (permalink)  
Antiguo 20/08/2007, 04:42
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: sumar double

Cita:
Iniciado por ReViJa Ver Mensaje
No le has resuelto nada, haz la prueba incrementando a un valor superior a 6 y veras la parrafada de decimales que salen...

Una de las maneras seria así:
Código:
For num1 As Decimal = 1 To 8 Step 0.1

Saludos
Es cierto, prueba asi:

Dim num As Double
For num1 = 1 To 2 Step 0.1
MsgBox format(num1,"0.0")
Next

Un saludo
  #6 (permalink)  
Antiguo 20/08/2007, 13:05
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Re: sumar double

Gracias, con Format funciona, claro tengo que convertirlo luego a double para poder operar con el, sin embargo funciona.

Otra solucion que funciono era utilizar el tipo de dato Decimal, aunque la aplicacion no es para nada grande y menos los datos con los que opera, pero prefiero seguir usando el Double, o Single.

Gracias!
__________________
KIBIT.cl

Última edición por Snd234; 20/08/2007 a las 13:13
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:53.