Con la tecnología de Blogger.

Aproximación de un número decimal


Para expresar un número real con un número especificado de números decimales empleamos la función round. Por ejemplo, para expresar los números x e y con dos cifras decimales escribimos:

double x = 72.3543;

double y = 0.3498;

System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100);

System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100);

Se obtiene 72.35 y 0.35 como cabría esperar. Fijarse que round devuelve un número entero int que es necesario promocionar a double para efectuar la división entre 100.

Si empleamos la función floor en vez de round obtendríamos:

System.out.println(x + " es aprox. " + Math.floor(x*100)/100);

System.out.println(y + " es aprox. " + Math.floor(y*100)/100);

Se obtiene 72.35 y 0.34. La aproximación del primero es correcta ya que la tercera cifra decimal es 4 inferior a 5. La aproximación del segundo es incorrecta ya que la tercera cifra decimal es 9 mayor que 5. En la mayor parte de los cálculos se cometen errores, por lo que la diferencia entre floor y round no es significativa.
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario

Gracias por comentar ;-)