Я хочу преобразовать число в 2 десятичных знака (всегда показывать два десятичных знака) во время выполнения. Я попробовал некоторый код, но это только делает, как показано нижеПреобразование числа до 2 десятичных знаков в Java
20.03034 >> 20.03
20.3 >> 20.3 (my code only rounds not converts)
однако, я хочу, чтобы это сделать:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
Мой код ниже:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
Любая помощь, как для этого было бы здорово, спасибо.
Ваш код некорректен. Вы конвертируете double в строку со специальным форматом. Затем вы конвертируете его в двойное, а затем конвертируете обратно в строку без указания какого-либо формата. Наверное, это неправильно. Также цель переменной tmp не очевидна. – Robert
Вы должны прочитать API-интерфейс DecimalFormat, ответ есть, и это совершенно ясно. – Paul
Возможный дубликат [округлить до двух значащих цифр после десятичной точки] (http://stackoverflow.com/questions/2808535/round-a-double-to-2-significant-figures-after-decimal-point) –