places parse how decimals convert java decimal

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 .