Voglio convertire un numero in 2 posizioni decimali (Mostra sempre due posizioni decimali) in runtime. Ho provato un certo codice, ma lo fa solo, come illustrato di seguitoConverti un numero in 2 decimali in Java
20.03034 >> 20.03
20.3 >> 20.3 (my code only rounds not converts)
però, lo voglio fare questo:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
mio codice qui sotto:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
Qualsiasi aiuto su come fare questo sarebbe fantastico, grazie.
Il codice è imperfetto in qualche modo. Converti un doppio in una stringa con un formato speciale. Quindi lo converti in doppio e poi lo converti in una stringa senza specificare alcun formato. Immagino che sia sbagliato. Anche lo scopo della variabile 'tmp' non è ovvio. – Robert
Dovresti leggere l'API 'DecimalFormat' - la risposta è lì ed è abbastanza chiaro. – Paul
possibile duplicato di [Arrotondare un doppio a 2 cifre significative dopo il punto decimale] (http://stackoverflow.com/questions/2808535/round-a-double-to-2-significant-figures-after-decimal-point) –