
26/11/2012, 19:03
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 4 meses Puntos: 2658 | |
Respuesta: Problema con decimales a la hora de buscar y comparar Craso error.... 9.45 no está entre 10 y 14, porque estás trabajando con ENTEROS, por lo que un número decimal es redondeado para ser usado en contexto de enteros. Eso es lo que se hace para hacer que las operaciones sean consistentes.
Ahora bien, el entero más cercano a 9,45 es 9, no 10, por lo que el rango leído es todo lo que sea igual o menor a 9.
Entonces, si el registro debe ser tal que rango_desde sea igual o menor a 9, y rango_hasta igual o mayor a 9, sólo hay un registro que lo cumple: El tercero, cuyo precio final es 130...
Diferente hubiera sido si el valor buscado fuese igual o mayor a 9,55, porque en ese caso hubiese sido convertido por redondeo a 10.
Ten en cuenta que las reglas de redondeo son las mismas usadas en matemáticas. Las mismas.
Si le dices a un profesor de matemática que 9,45 se redondea a 10, repruebas la materia sin más trámite.
¿Se entiende la lógica?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |