Учи матчасть …

Ещё раз убеждась, что «мелочей» в программироваии не бывает. Ну казалось бы, ну чем может удивить класс java.math.BigDecimal и его друг-и-сортаник java.math.MathContext? Да ничем, уж если мы многопоточность освоили, неужто каие-то плаващие запятые нахрапом не осилим🙂

DECIMAL32
public static final MathContext DECIMAL32
A MathContext object with a precision setting matching the IEEE 754R 
Decimal32 format, 7 digits, and a rounding mode of HALF_EVEN,
the IEEE 754R default.

 

Вот мне сирому-и-убогому фраза «precision matching 7 digits» читалось как «7 знаков после запятой», а вот «фиг-вам» ! Оказывается это 7 (!) значимых цифр в представлении BigDecimal. Другим словами 100.15076 — это в представлении BigDecimal уже 8(!) значимых цифр и DECIMAL32 контекст округлит 100.15076 до 100.1508, хотя я ожидал совсем другого поведения (ну вы сами понимаете, округлеия только после семи знаков после запятой😉 )

Отмечено

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: