TGViewer
Верхняя полка📝 Верхняя полка📝 @stopshelf · 358 subscribers
Post #272 304
Рубрика "Голова и пепел" 🤦🏼‍♂️

Намедни нужно было реализовать логику учёта неких лимитов, получаемых из внешней системы в виде вещественных чисел. Зная, что лимиты могут быть не выставлены (и это ОК), я решил не обкладываться бесконечными if (limit == null) в коде, а просто принять их равными максимально возможным значениям типа Double. Поскольку недавно решал подобную задачу для целочисленных значений, в качестве этих экстремумов взял константы Double.MIN_VALUE и Double.MAX_VALUE, то есть такие же, как в классе Integer 👌🏼

К моему удивлению, на первых же тестах значение 0 не прошло проверку при незаданных лимитах, потому что оказалось... меньше MIN_VALUE 😱

Убедившись, что кукушка на месте, я принялся разбираться и выяснил, что в классе Double константа MIN_VALUE — это, оказывается:
A constant holding the smallest positive nonzero value of type `double` (4.9e-324)

, то есть действительно самое маленькое, но положительное число. А наименьшее отрицательное выражено другой константой с противоестественным (для непосвященного взгляда) значением:
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;


Аналогичная константа есть и для положительного числа, и это совсем не то же самое, что MAX_VALUE. В общем, слово "плавающая" в названии арифметики, похоже, указывает не только на позицию запятой, но и на возможность "поплыть" даже (казалось бы) опытному инженеру. Век живи, век учись 🧑‍🎓
  • 👍 16
  • 😁 6
  • 🤯 3
  • ❤ 2
  • 😨 2
More from @stopshelf
  1. Oct 4, 2026Post #487
  2. Oct 3, 2026Странный юмор
  3. Oct 2, 2026Post #485
  4. Sep 18, 2026#инструменты для презентаций на Markdown Сегодня нужно было по-быстрому сделать слайды для…
  5. Sep 14, 2026Post #483
  6. Aug 31, 2026Игровой портал в прошлое 🔮 Года полтора назад я захотел показать ребёнку игру моего детст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →