Introducción
En casi todas nuestras aplicaciones vamos a necesitar convertir o castear números de distintos valores. Esto puede variar dependiendo de nuestro proyecto. Hoy veremos cómo convertir double a float en Java; o un doble a flotante.
Convertir double a float en Java
No existe un método bonito como Integer.parseInt, o String.valueOf para convertir una variable double a una variable float.
En cambio podemos “castear” el valor double a un float utilizando (float) a la izquierda de la variable.
Aquí un ejemplo de código:
class Main { public static void main(String[] args) { double valorDouble = 5119819181.12312; float valorFloat = (float) valorDouble; } }
Como vemos, en ese ejemplo simplemente declaramos nuestras variables y asignamos a valorFloat en valor de valorDouble no sin antes castearlo.
Esto viene de gran ayuda cuando no hay forma de obtener la variable como un flotante, sino como un double, pero para algunas aplicaciones necesitamos forzosamente el valor float.
Ejemplo de la vida real
Un ejemplo de la vida real por el que escribo esta entrada es que necesito descargar unos datos en formato JSON desde una API con PHP. Dichos datos, como ya lo dije, están codificados con JSON y Java proporciona el método getDouble (de la clase JSONObject) para obtener un valor, pero no el método getFloat (supongo que para no perder precisión de decimales).
Más tarde, tengo que crear una gráfica de barras con esos datos, utilizando la maravillosa librería MPAndroidChart. Y para poder crear una nueva instancia de la clase BarEntry se necesita un valor de tipo float como segundo argumento.
Cabe mencionar que es de Java para Android pero Java es, al final de todo, Java.