Округления числа до двух знаков
Вот так не пробовал? result1 = result.setScale(2, RoundingMode.HALF_UP); Цифра в скобках указывает в java округление до 2 знаков double типа.
Отслеживать
ответ дан 24 мая 2022 в 16:37
d6xdmxnneee d6xdmxnneee
1 1 1 бронзовый знак
Пробовал ругается на метод Cannot resolve method ‘setScale(int, RoundingMode)’
24 мая 2022 в 16:42
Это не ответ, а короткая догадка. Это в комментарий надо помещать.
24 мая 2022 в 16:53
@d6xdmxnneee, это будет работать только для BigDecimal, для обычных double или Double — нет.
25 мая 2022 в 4:55
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Округление числа double до двух десятичных знаков в Java
Часто при программировании на языке Java возникает потребность в округлении чисел с плавающей точкой. Например, может быть задача, при которой число 123.4567 должно быть округлено до двух десятичных знаков и приведено к виду 123.45 . Аналогично, если исходное число целое, например 123 , то результатом округления должно стать число 123.00 .
Рассмотрим, как эту задачу можно решить средствами Java.
Использование метода Math.round()
Одним из способов округления чисел является использование метода Math.round() . Данный метод округляет число до ближайшего целого. Чтобы округлить число до двух десятичных знаков, число сначала умножается на 100, округляется до ближайшего целого, а затем делится на 100.
double number = 123.4567; double roundedNumber = Math.round(number * 100.0) / 100.0;
В результате roundedNumber будет содержать значение 123.45 .
Использование класса DecimalFormat
Еще одним способом округления чисел является использование класса DecimalFormat . Этот класс предоставляет возможность форматировать числа с плавающей точкой с использованием различных шаблонов.
double number = 123.4567; DecimalFormat df = new DecimalFormat("#.##"); double roundedNumber = Double.valueOf(df.format(number));
В результате roundedNumber будет содержать значение 123.45 .
Важно отметить, что при использовании класса DecimalFormat исходное число не изменяется, а создается новое число, которое соответствует заданному формату.
В зависимости от конкретной ситуации можно выбрать наиболее подходящий способ округления.
Как округлить double в java
У String format и DecimalFormat есть одна маленькая большая проблема, внимательные заметили, что при создании строки точка меняется на запятую, те при попытке распарсить эту строку в дабл вы получите эксепшен(
Андрей Овчаренко Уровень 41
23 января 2021
В статье упущен важный момент — некоторые методы в результате округления ставят точку, а некоторые запятую!
Sergey F. Уровень 25
16 июня 2020
double value = 34.777774; double result = Math.ceil(value); System.out.println((result)); //35.0
Даже если у нас будет 34.0000000, все равно после использования Math.ceil мы получим 35,0. Возможно я не так понял, но код
double value = 34.0000000; double result = Math.ceil(value); System.out.println(result);
выдаст результат:
11 июня 2020
double value = 34.777774; int result = Math.round(value); System.out.println((result));
Здесь не скомпилируется — Math.round(double) возвращает long.
11 июня 2020
«Даже если у нас будет 34.0000000, все равно после использования Math.ceil мы получим 35,0.» Здесь, по-видимому, опечатка, необходима хотя бы одна цифра после нулей, чтобы округлялось до 35. Стоит ещё упомянуть код формата `g`, который позволяет задавать кол-во значащих цифр:
System.out.format("%.5g%n", 77.0); // => 77.000
Сообщество
JavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
«Программистами не рождаются» © 2023 JavaRush
Скачивайте наши приложения
«Программистами не рождаются» © 2023 JavaRush
Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.
Примерное округление double
Округление чисел double
Оказывается Math.cos(Math.PI/2) равен 6.123233995736766E-17. Это почти 0. Но все же хочется видеть.
Округление double в меньшую сторну
Всем привет! Сразу прошу палками не бить, так как полный новичок в Java 🙂 Подскажите люди.
Округление double
Помогите, пожалуйста! Как округлить число типа double до сотых? Функциями из <math.h> пользоваться.
Округление double
Необходимо сохранить полное соответствие double с разрядами, но дойдя до определённого значения у.
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
String.format("%.5g%n", value);
Добавлено через 7 минут
Если имеется в виду не выводить, а округлить, то Math.round можно использовать
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Округление Double
Использую Double, возникают при тонких расчетах проблемы с округлением. Какие есть стандартные.
Округление double
Короче ввожу число 1.05 в Debug показывает его, как 1.004999999999999999995663191310058 вот как.
Округление double
Уважаемые специалисты по языку С! Помогите Visual Basic — программисту! Для одной задумки мне.

Округление double
Добрый день. Происходит округление double. На каком этапе это происходит на данный момент я не могу.
