Float округления [дубликат]

203
31 марта 2018, 16:39

На данный вопрос уже ответили:

  • Почему при записи большого числа во float меняются цифры на конце? 1 ответ

Забыл. 360*x/100 где тип х float, результат на калькуляторе 0,0895522392 в программе выдает 0.08955224, че он мне их так подрезал?

Answer 1

Если хотите полный контроль над вычислениями, используйте специализированные типы, вместо встроенных

Например:

public static void main(String[] args) {
    float x = 0.024875622f;
    int scale = 10;
    System.out.println(new BigDecimal(360).multiply(new BigDecimal(x)).divide(new BigDecimal(100), scale, RoundingMode.FLOOR));
}
READ ALSO
Форматирование BigDecimal

Форматирование BigDecimal

Всем привет! Необходимо отформатировать число BigDecimal следующим образом:

310
Помогите считать с файла java 8 stream api

Помогите считать с файла java 8 stream api

Здравствуйте, подскажите как считать все слова из этого файла с стихотворением? То есть получить все слова без символов типа #t_es1385_1, цифровых...

200
Межязыковое взаимодействие

Межязыковое взаимодействие

Имеется несколько программ, написанных на разных языках (питон, Ява, плюса)Требуется из одной программы (написанной на яве) последовательно...

205
Обработка ошибки 404 Spring

Обработка ошибки 404 Spring

Есть сервер, построенный на Spring + HibernateНебходимо отловить ошибку 404 когда пользователь стучиться на неправильный адрес (например localhost:8080/tes...

188