Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Округление / 15 сообщений из 15, страница 1 из 1
03.10.2014, 11:39
    #38765800
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
Код: java
1.
2.
BigDecimal x = new BigDecimal(33.678);
BigDecimal rounded = x.round(new MathContext(2, RoundingMode.HALF_UP));


В ответе получаю 34, все супер. Сейчас, наверное, странный вопрос задам, но все же: как мне сделать так, чтобы округляло сразу до 40?
Спасибо
...
Рейтинг: 0 / 0
03.10.2014, 11:48
    #38765821
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulTСейчас, наверное, странный вопрос задам, но все же: как мне сделать так, чтобы округляло сразу до 40?
Почему не 50? С чего-бы вдруг в большую сторону?
...
Рейтинг: 0 / 0
03.10.2014, 11:56
    #38765838
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulT,

первый параметр конструктора MathContext поставьте равным 1. Второй равным RoundingMode.UP
...
Рейтинг: 0 / 0
03.10.2014, 12:01
    #38765848
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
smackmychiJulT,

первый параметр конструктора MathContext поставьте равным 1. Второй равным RoundingMode.UP
то что нужно, спасибо!
...
Рейтинг: 0 / 0
03.10.2014, 12:07
    #38765862
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
wadmanJulTСейчас, наверное, странный вопрос задам, но все же: как мне сделать так, чтобы округляло сразу до 40?
Почему не 50? С чего-бы вдруг в большую сторону?
до 50 много, а вот до 40 в самый раз)
...
Рейтинг: 0 / 0
03.10.2014, 12:21
    #38765901
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
ммм, а вот если
Код: java
1.
2.
  BigDecimal x = new BigDecimal(318);
  BigDecimal rounded = x.round(new MathContext(1, RoundingMode.UP));


318 -> 400 - это плохо
когда ставлю new MathContext(2
тогда 318 -> 320 - то что нужно
получается нужно ставить проверку на разрядность числа и передавать в зависимости от этого 1,2 и т.д.?
как-то не очень нравится мне такой вариант
...
Рейтинг: 0 / 0
03.10.2014, 14:40
    #38766157
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulT,

Ум в ручки и вперед
...
Рейтинг: 0 / 0
03.10.2014, 14:47
    #38766162
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulT, пиши модульные тесты для округления и вставляй их в проект.
...
Рейтинг: 0 / 0
03.10.2014, 14:49
    #38766164
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulT,

первый параметр precision (точность) - количество цифр, используемых в операции. результат будет округлен до установленной точности. (из док-ии).
...
Рейтинг: 0 / 0
03.10.2014, 14:55
    #38766169
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulT,

Конечно, можно сделать грубо.
Переводить целую часть в строку. Смотреть количество символов строки - цифр. Выставлять точность равной количество символов уменьшенным на единицу.
...
Рейтинг: 0 / 0
03.10.2014, 15:01
    #38766179
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
smackmychi, precision(), scale()
...
Рейтинг: 0 / 0
03.10.2014, 15:02
    #38766180
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
mayton,

что вы хотели этим сказать?
...
Рейтинг: 0 / 0
03.10.2014, 15:05
    #38766183
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
Это альфа и омега. Там - всё. И никаких переводов в строки и прочей каббалистики.
...
Рейтинг: 0 / 0
03.10.2014, 15:47
    #38766259
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
mayton,

Тогда я прошу вас предоставить решение задачи округления десятков.
...
Рейтинг: 0 / 0
03.10.2014, 16:30
    #38766334
smackmychi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Округление
JulT,

Можно округлить десятки следующим образом
x.setScale(-1, RoundingMode.Up);
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Округление / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]