parse - Convertir un número a 2 decimales en Java
java parse double to 2 decimal places (4)
Quiero convertir un número a 2 decimales (Mostrar siempre dos decimales) en tiempo de ejecución. Probé un código pero solo lo hace, como se muestra abajo
20.03034 >> 20.03
20.3 >> 20.3 ( my code only rounds not converts )
Sin embargo, quiero que haga esto:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
Mi código a continuación:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
Cualquier ayuda sobre cómo hacer esto sería genial, gracias.
Intente esto: String.format("%.2f", angle);
Tratar
DecimalFormat df = new DecimalFormat("#,##0.00");
prueba este new DecimalFormat("#.00");
actualización :
double angle = 20.3034;
DecimalFormat df = new DecimalFormat("#.00");
String angleFormated = df.format(angle);
System.out.println(angleFormated); //output 20.30
Tu código no estaba usando el formato decimal correctamente
El 0 en el patrón significa un dígito obligatorio, el # significa un dígito opcional.
actualización 2 : verifique abajo la respuesta
Si desea 0.2677
formateado como 0.27
debe usar el new DecimalFormat("0.00");
de lo contrario será .27
DecimalFormat df=new DecimalFormat("0.00");
Utilice este código para obtener dos puntos decimales exactos. Incluso si el valor es 0.0, dará u 0.00 como salida.
En cambio si usas:
DecimalFormat df=new DecimalFormat("#.00");
No convertirá 0.2659 en 0.27 . Obtendrá una respuesta como .27 .