6.10 Math.floor puede utilizarse para redondear un número hasta un lugar decimal específico. La instrucción
y = Math.floor(x*10 + 0.5)/10;
redondea x en la posición de décimas (es decir, la primera posición a la derecha del punto decimal). La instrucción
y = Math.floor(x*100 + 0.5)/100;
redondea x en la posición de las centésimas (es decir, la segunda posición después del punto decimal). Escriba una aplicación que defina cuatro métodos para redondear un número x en varias formas:
a) Redondear_Entero( numero)
b) Redondear_Decimas( numero )
c) Redondear_Centesimas( numero )
d) Redondear_Milesimas( numero )
Para cada valor leído, su programa debe mostrar el valor original, el número redondeado al entero más cercano, el número redondeado a la décima más cercana, el número redondeado a la centésima más cercana y el número redondeado a la milésima más cercana.
El siguiente código debe guardarse como UsaDeitel_6_10.java
import java.util.Scanner; public class UsaDeitel_6_10 { // Abre clase UsaDeitel_6_10 public static void main(String args[]) { // Abre main System.out.print("\nEste programa recibe un numero tipo double y lo "); System.out.print("presenta redondeado a: Entero, Decimas, Centesimas y Milesimas."); int centinela; double numero; Scanner entrada = new Scanner(System.in); Deitel_6_10 miObjeto = new Deitel_6_10(); do { // Abre do System.out.print("\nPor favor introduzca el numero: "); numero = entrada.nextDouble(); double auxiliar; auxiliar = miObjeto.Redondear_Entero(numero); System.out.printf("\nEl numero %f redondeado a entero es: %.2f", numero, auxiliar); auxiliar = miObjeto.Redondear_Decimas(numero); System.out.printf("\nEl numero %f redondeado a decimas es: %.3f", numero, auxiliar); auxiliar = miObjeto.Redondear_Centesimas(numero); System.out.printf("\nEl numero %f redondeado a centesimas es: %.5f", numero, auxiliar); auxiliar = miObjeto.Redondear_Milesimas(numero); System.out.printf("\nEl numero %f redondeado a milesimas es: %.5f", numero, auxiliar); System.out.print("\nQuiere volver a ejecutar el programa?"); System.out.print(" Introduzca un entero (-1 para terminar)"); centinela = entrada.nextInt(); }while( -1 != centinela ); // Cierra do } // Cierra main } // Cierra clase UsaDeitel_6_10
El siguiente código debe guardarse como Deitel_6_10.java
public class Deitel_6_10 { // Abre clase Deitel_9_10 // Se define el metodo Redondear_Entero public double Redondear_Entero( double x ) { // Abre metodo Redondear_Entero return (Math.floor(x + 0.5) ); } // Cierra metodo Redondear_Entero // Se define el metodo Redondear_Decimas public double Redondear_Decimas( double x ) { // Abre metodo Redondear_Decimas return (Math.floor(x*10 + 0.5) / 10); } // Cierra metodo Redondear_Decimas // Se define el metodo Redondear_Centesimas public double Redondear_Centesimas( double x ) { // Abre metodo Redondear_Centesimas return (Math.floor(x*100 + 0.5) / 100); } // Cierra metodo Redondear_Centesimas // Se define el metodo Redondear_Milesimas public double Redondear_Milesimas( double x ) { // Abre metodo Redondear_Milesimas return (Math.floor(x*1000 + 0.5) / 1000); } // Cierra metodo Redondear_Milesimas } // Cierra clase Deitel_9_10
No hay comentarios:
Publicar un comentario