типа 111.11
Сократить до сотых по умолчанию понятно как, а если пришла к примеру 11.1 то как из нее сделать 11.10?
а зачем? на вывод на экран?
%.2f
да, ну просто чекать и добавлять вручную к строке кажется не самым нормальным способом)
Используй big decimal
https://mkyong.com/java/java-display-double-in-2-decimal-points/
Вроде можно урезать, но это не точно
Округлять точно можно из коробки
Мой костыль, незнаю подойдет тебе или нет) /** * Returns a {@code BigDecimal} whose scale is the specified * value, and whose unscaled value is determined by multiplying or * dividing this {@code BigDecimal}'s unscaled value by the * appropriate power of ten to maintain its overall value. If the * scale is reduced by the operation, the unscaled value must be * divided (rather than multiplied), and the value may be changed; * in this case, the specified rounding mode is applied to the * division. * * @param roundingOff the rounding number * @param scale scale of the {@code BigDecimal} value to be returned * @return a rounded number * @apiNote uses a rounding mode {@code RoundingMode=HALF_UP} */ private static BigDecimal round(BigDecimal roundingOff, int scale) { return roundingOff != null ? roundingOff.setScale(scale, RoundingMode.HALF_UP) : null; }
Обсуждают сегодня