Que diferencia hay?? Pq no funciona??
Buenas tardes,
Tengo el siguiente código y no entiendo pq no hace bien la comparación:
Dim Num1 As Long
Dim Num2 As Long
Dim Res As Long
Dim Res2 As Long
Res = 7
Num1 = 100
Num2 = 0.07
Res2 = CLng(Num1 * Num2) -> da falso
\'Res2 = CLng(100 * 0.07) -> da cierto
If Res = Res2 Then
MsgBox "Son iguales"
Else
MsgBox "No son iguale"
End If
Que difeencia hay entre esta dos operaciones si lo hago de una manera da true y de la otra false, pq??
Res2 = CLng(Num1 * Num2) -> da falso
Res2 = CLng(100 * 0.07) -> da cierto
Mucha Gracias,
Silvia
Tengo el siguiente código y no entiendo pq no hace bien la comparación:
Dim Num1 As Long
Dim Num2 As Long
Dim Res As Long
Dim Res2 As Long
Res = 7
Num1 = 100
Num2 = 0.07
Res2 = CLng(Num1 * Num2) -> da falso
\'Res2 = CLng(100 * 0.07) -> da cierto
If Res = Res2 Then
MsgBox "Son iguales"
Else
MsgBox "No son iguale"
End If
Que difeencia hay entre esta dos operaciones si lo hago de una manera da true y de la otra false, pq??
Res2 = CLng(Num1 * Num2) -> da falso
Res2 = CLng(100 * 0.07) -> da cierto
Mucha Gracias,
Silvia
Usá variables Double o Single en vez de Long y vas a ver como te da bien
Salu2
www.recursosvisualbasic.com.ar
Salu2
www.recursosvisualbasic.com.ar
Hola,
Muchas Gracias por tu ayuda con Double ya hemos hecho la prueba y no funciona, pero con Single si que va ok, que explicación tiene?? Lo sabes??
Muchas Gracias,
Silvia
Muchas Gracias por tu ayuda con Double ya hemos hecho la prueba y no funciona, pero con Single si que va ok, que explicación tiene?? Lo sabes??
Muchas Gracias,
Silvia
Es que al asignar un numero decimal en un Long, entero etc.., el valor se trunca y se redondea, por ejemplo
Num2 = 1.07
esolo toma como 1
Num2 = 0.07
esto como 0
entonces cuando haces la operacion el resultado no es el esperado
Salu2
mi web de vb
www.recursosvisualbasic.com.ar
Num2 = 1.07
esolo toma como 1
Num2 = 0.07
esto como 0
entonces cuando haces la operacion el resultado no es el esperado
Salu2
mi web de vb
www.recursosvisualbasic.com.ar
