Как ограничить количество знаков после запятой java
5 лет назад
Человек-Молекула
Ответы
Можно сделать таким образом :
4 года назад
Сергей Якимович
Также можно воспользоваться методом format() класса String :
4 года назад
Сергей Якимович
Сначала решите, что нужно: красиво вывести число или округлить само значение для дальнейших расчётов.
Вывести с нужным числом знаков
%.2f — два знака после запятой с округлением. Само число x не меняется.
String.format берёт разделитель из локали системы: на компьютере с русской локалью будет 3,14. Чтобы всегда была точка:
DecimalFormat
# выводит цифру, только если она значимая, 0 выводит цифру всегда. По умолчанию DecimalFormat округляет «к ближайшему чётному»: 2.345 может стать 2.34. Обычное округление задают так: df.setRoundingMode(RoundingMode.HALF_UP).
Округлить само число
Делите на 100.0. При делении на 100 деление будет целочисленным и отбросит дробную часть.
Деньги и точные расчёты: BigDecimal
double хранит числа приблизительно: 0.1 + 0.2 даёт 0.30000000000000004. Для денег используют BigDecimal:
Создавайте BigDecimal из строки: new BigDecimal(19.995) унаследует погрешность double.
Отбросить лишние знаки без округления
Для отрицательных чисел используйте RoundingMode.DOWN у BigDecimal: Math.floor округляет вниз, к минус бесконечности.
Типы чисел и форматирование разбирают в бесплатном курсе «Основы Java».
17 дней назад
Никита Вихров






