Как всегда показывать десятичную часть при использовании DecimalFormat? - PullRequest
10 голосов
/ 30 августа 2010
Float sum = new Float(300); // always somehow calculated
DecimalFormat df = new DecimalFormat("#.#");
String s = df.format(sum/3);  // prints 100, I want 100.0
s = df.format(301/3); // pritns 100.3 which is correct

Результат всегда должен быть отформатирован с точностью до 1 десятичного знака, как это сделать?

Ответы [ 2 ]

35 голосов
/ 30 августа 2010

Изменение

DecimalFormat df = new DecimalFormat("#.#");

до

DecimalFormat df = new DecimalFormat("#.0");

По существу, 0 означает «всегда показывать цифру в этой позиции», где # означает «показывать цифру в этой позиции, если она не равна нулю».

7 голосов
/ 30 августа 2010

Вы можете прочитать о шаблонах здесь .Измените следующую строку, чтобы сделать свое дело.

DecimalFormat df = new DecimalFormat("#.0");
...