При делении на 1000 я иногда сталкиваюсь с ошибкой, которая не делает деление «правильно». Например, при делении 90.55 на 1000 вместо получения .09055 я получаю .090549999999.
<c:out value="${bean.paPrice / 1000}" />
Почему это происходит? Это результат математики с плавающей точкой? Похоже, поиск в Google показал, что это может быть причиной, но я не нашел конкретного ответа.
Чтобы исправить это, я могу округлить ответ до 5 цифр, но, похоже, это всего лишь патч для более глубокой проблемы.
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice / 1000}" />