Visual Basic - No entiendo nada!!!

Life is soft - evento anual de software empresarial
   
Vista:

No entiendo nada!!!

Publicado por agusti (41 intervenciones) el 20/08/2008 17:33:01
Hola,

Alguien me puede explicar pq el siguiente bucle:

for a=8.70 to 8.40 step -0.30

da como resultado: 8.70

en cambio el bucle...

for a=8.90 to 8.60 step -0.30

da : 8.90 , 8.60

Para mí el resultado lógico sería el segundo, pq no me funciona el primero ????????

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No entiendo nada!!!

Publicado por igor (633 intervenciones) el 20/08/2008 17:43:08
Mi consejo no utilices decimales siempre que puedas hacer las operaciones en entero.

for a=870 to 840 step -30

for a=890 to 860 step -30

Si lo quieres sino pues mejor para mi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por agusti (41 intervenciones) el 20/08/2008 17:46:58
Ya!!! pero lo que quiero es llenar un list box con los decimales resultantes del bucle (8,70 y 8,40)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por igor (633 intervenciones) el 20/08/2008 17:49:15
Pues eso, no???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por agusti (41 intervenciones) el 20/08/2008 17:50:43
O sea que no tienes ni idea, no???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por igor (633 intervenciones) el 20/08/2008 17:56:40
Si, la idea es que al utilizar variables decimales se pierde precisión debido al redondeo. Eso afecta al bucle, y por eso no lo realiza bien. Bueno, no lo realiza como una persona podría esperar, pero realizarlo lo realiza estupendamente, según la mentalidad binaria.

Yo puedo aconsejarte, si tú escojes el mal camino no tengo la culpa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por io (7 intervenciones) el 20/08/2008 17:51:59
nononononono....

debe ser asi!:

For a = 8.7 To 8.3 Step -0.3

Next


For a = 8.9 To 8.5 Step -0.3

Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por igor (633 intervenciones) el 20/08/2008 17:58:28
sisisisisi, debe ser como tu dices. Creo que seguro que es así!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por agusti (41 intervenciones) el 20/08/2008 18:02:12
Pero pq de 8.90 a 8.60 step -0.30 funciona y en cambio de 8.70 a 8.40 step -0.30 NOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por igor (633 intervenciones) el 20/08/2008 18:03:07
Yo que tú cambiaría de ordenador, es que con el mal uso se estropean.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por iodenuevo (7 intervenciones) el 20/08/2008 18:04:40
Creo q igor ya te dio la respuesta.... LOS REDONDEOS!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por agusti (41 intervenciones) el 20/08/2008 18:14:32
Pues vaya con los REDONDEOS!!!

Entonces alguien me puede decir como hacer esta operación de otra forma:

tengo 3 textbox variables, uno con un resultado decimal (ej. 8.70) el otro con otro resultado decimal (ej. 8.40) y el tercero con los incrementos correspondientes (ej 0.30).

Lo que quiero es que se llena un listbox con los valores resultantes del bucle que os comentaba, es decir de textbox1 a textbox2 en pasos de textbox3.
Recordad que los valores de los textbox no siempre son los mismos

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por igor (633 intervenciones) el 20/08/2008 18:32:35
Tanto te cuesta hacer esto????

Dim a As Integer
For a = 840 To 870 Step 30
Text1.Text = Format$(a / 100, "0.00")
Next a

Llenas el foro con tus historias, pero no tienes disposición de ser ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No entiendo nada!!!

Publicado por agusti (41 intervenciones) el 21/08/2008 18:30:38
Gracias igor, las mates no son lo mío.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tranquilo

Publicado por Yo (49 intervenciones) el 20/08/2008 20:26:15
A ver, no sé si tu problema sea el tipo de la variable, pero haciendo esto:

Dim snD As Single

For snD = 8.7 To 8.3 Step -0.3
MsgBox snD
Next
MsgBox snD

Por cada vez que se ejecuta el MsgBox me despliega:
8.7
8.4
8.099999 ' Claro que es incorrecto, debería ser 8.1, pero de esto a 8.7 como tú dices, pues sí hay diferencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar