Я хочу преобразовать число в 2 десятичных знака (Всегда показать два десятичных знака) во время выполнения. Я пробовал код, но он работает, как показано ниже
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);
Любая помощь в том, как это сделать, будет будь отличным, спасибо.
попробуйте new DecimalFormat("#.00");
обновить :
double angle = 20.3034;
DecimalFormat df = new DecimalFormat("#.00");
String angleFormated = df.format(angle);
System.out.println(angleFormated); //output 20.30
Ваш код неправильно использовал десятичный формат
0 в шаблон означает обязательную цифру, # означает дополнительную цифру.
обновление 2 : проверьте ответ ниже
Если вы хотите, чтобы 0.2677
отформатировано как 0.27
, вы должны использовать new DecimalFormat("0.00");
, иначе это будет .27