Почему Big Decimal считает 1.0 и 1.00 разными числами — и к чему это приводит в Java
Представьте: в базе лежит цена 1.00. Сервис получает из другого источника 1.0, сравнивает через equals() и решает, что цена изменилась. Улетает событие, срабатывает уведомление, бухгалтерия задаёт вопросы. Знакомо? В Java такая ловушка встречается чаще, чем кажется, и виноват не JSON, не база и не «странный» парсер, а масштаб Big Decimal. Big Decimal — не просто число с плавающей точкой. Он хранит два значения: unscaled value и scale. Грубо говоря, цифры без запятой и количество знаков после запятой...
Топливный «цифровой» надзор: к чему готовиться водителям Свердловской области
Топливный рынок России, похоже, наконец нашел свое равновесие. На совещании у вице-премьера Александра Новака правительство доложило: бензин наконец-то перестал скакать в цене, и это уже отразилось на общем индексе потребительских цен — том самом, что касается непродовольственных товаров. Обсуждали всем составом — Минэкономразвития, Минсельхоз, Минтранс подключились, плюс Центробанк и независимые эксперты. Словом, собрались все, кто хоть как-то связан с темой. Но успокаиваться рано. Параллельно Минэнерго готовит масштабную реформу учета...