пятница, 12 января 2007 г.

Java Puzzle 2: Time for a Change

Оказывается, 2.00 - 1.10 не равно 0.90.
Не рекомендуется использовать float и double для расчетов чего-нибудь важного. Надо использовать BigDecimal(String), но ни в коем случае не использовать BigDecimal(double).
Кроме того, тут рекомендуют использовать форматтеры для вывода чисел.

1 комментарий:

  1. Ну это как раз известный факт. В свое время, в какой-то довольно старинной книжке по Цэ сильно предостерегали от использования float'ов и даже иногда double'ов. Рекомендовали использовать по возможности целочисленную арифметику с масштабированием.

    ОтветитьУдалить