Anuncios

Bienvenidos sean a este post, hoy veremos uno de los metodos que tenemos para redondear.

Anuncios

Java dispone de varios metodos para redondear un numero con decimales de tipo float o double, en este caso el metodo redondea al numero entero mas pequeño pero esto funcionara solamente si el valor es negativo en cambio si el valor es positivo lo redondeara al valor entero mas grande, este metodo al igual que sucedio con abs debemos usarlo desde la clase Math, para verlo en accion vamos a crear un ejemplo y para ello haremos un nuevo archivo llamado ceil.java y le agregaremos el siguiente codigo:

ceil.java

public class ceil
{
	public static void main(String [] args)
	{
		float f = 100.65f;
		double d = 50.35;

		System.out.println(Math.ceil(f));
		System.out.println(Math.ceil(d));
	}
}
Anuncios

Este codigo tiene dos variables una de tipo de float y otra double con dos valores, lo siguiente es aplicar a ceil por medio de Math y mostrarlas en pantalla, un codigo bien simple pero veamos que sucede primero compilando y luego ejecutando:

tinchicus@dbn001vrt:~/lenguajes/java$ java ceil 
101.0
51.0
tinchicus@dbn001vrt:~/lenguajes/java$
Anuncios

Como podemos ver fallo el redondeo porque lo hizo al valor mas grande y no al mas pequeño y esto es debido a que no es negativo, para solucionar este inconveniente debemos modificar el signo de las dos variables de la siguiente forma:

                float f = -100.65f;
                double d = -50.35;
Anuncios

Si lo compilamos y probamos nuevamente obtendremos esta salida:

tinchicus@dbn001vrt:~/lenguajes/java$ java ceil 
-100.0
-50.0
tinchicus@dbn001vrt:~/lenguajes/java$
Anuncios

Como podemos ver ahora funciono correctamente pero como podemos hacer esto mismo para valores positivos, para ello debemos modificar el codigo de una forma mas compleja pero no tanto:

ceil.java

public class ceil
{
	public static void main(String [] args)
	{
		float f = 100.65f;
		double d = 50.35;

		System.out.println(Math.abs(Math.ceil(-f)));
		System.out.println(Math.abs(Math.ceil(-d)));
	}
}
Anuncios

En las dos variables que tenemos las volvemos a convertir en positivas, y las modificaciones las haremos en el bloque que muestra los valores, para ello primero usaremos a abs para que elimine el signo y a ceil para redondearlo pero para que funcione correctamente anteponemos el signo negativo delante de los argumentos para convertirlos en negativo y sean procesados correctamente, obviamente esto esta pensado solamente para valores positivos pero si lo necesitaran para que procese ambos signos debemos mejorarlo un poco mas, con todo esto explicado pasemos a compilarlo y ver su salida:

tinchicus@dbn001vrt:~/lenguajes/java$ java ceil 
100.0
50.0
tinchicus@dbn001vrt:~/lenguajes/java$
Anuncios

En resumen, hoy hemos visto como usar ceil, este nos permite redondear los numeros al entero mas chico, siempre y cuando sean negativos pero en caso de ser positivos redondeara al entero mas grande, hemos visto como poder trabajar con esta funcion y valores positivos, espero les hayas sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Donación

Es para mantenimento del sitio, gracias!

$1.00