Java. Ejemplo de redondeo de números decimales.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | package redondeo; import java.io.*; /** * * @author masar */ public class CEntDatos { public static String inicial ( ) { String datointroducido = "" ; try { InputStreamReader flujo= new InputStreamReader ( System.in ); // Definimos un flujo de caracteres de entrada. BufferedReader teclado = new BufferedReader ( flujo ); // Creamos un objeto de esta clase que almacenará la información en un bufer. datointroducido = teclado .readLine(); // Introducimos la entrada y la asignamos a una variable. } catch (IOException e){ System.err .print ( "Error: " + e.getMessage ( ) ); } return datointroducido ; } //------------------------------------------------------------------------ public static int entero( ) { try { return Integer.parseInt( inicial( ) ); } catch ( NumberFormatException e ) { return Integer. MIN_VALUE; // valor más pequeño. } } //------------------------------------------------------------------------ public static double real( ) { try { return Double.parseDouble ( inicial( ) ); } catch ( NumberFormatException e ) { return Double. NaN; // No es un número. } } //------------------------------------------------------------------------ public static String cadena() { return inicial( ); } //------------------------------------------------------------------------ static char caracter() { String valor= inicial(); return valor.charAt(0); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package redondeo; /** * * @author masar */ public class CMain { /** * @param args the command line arguments */ public static void main(String[] args) { double numReal; int numRedondeado; //Introducimos el número decimal System.out.println("Escribe un número decimal a redondear: "); numReal=CEntDatos.real(); numRedondeado= (int)(numReal + 0.5); System.out.println("El redondeo de " +numReal+ " es: "+numRedondeado); } } |
En este ejemplo se efectúa un redondeo decimal para mostrar finalmente el entero más próximo. El algoritmo empleado es muy sencillo, tan solo se suma 0.5 al número decimal introducido por teclado y posteriormente se le aplica un cash para convertirlo en número entero y se muestra por consola.
Se ha de comentar que elegir 0.5 para efectuar el redondeo es lo normal, sin embargo también he visto redondeos utilizando otras cifras como por ejemplo 0.6. La elección de una u otra cifra queda a criterio del programador.
Nuevamente se ha utilizado la clase EntDatos y La clase System para introducir y visualizar los datos en Consola.