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 десятичного знака, как это сделать?
Измените
DecimalFormat df = new DecimalFormat("#.#");
на
DecimalFormat df = new DecimalFormat("#.0");
По сути, 0 означает «всегда показывать цифру в этой позиции», где # означает «показывать цифру в этой позиции, если она не равна нулю». ".
О паттернах можно прочитать здесь. Измените следующую строку на «должна помочь».
DecimalFormat df = new DecimalFormat("#.0");