Получить следующий наименьший двухместный номер
В рамках модульного теста мне нужно проверить некоторые граничные условия. Один метод принимаетSystem.Double
аргумент.
Есть ли способ получитьследующего Наименьшее двойное значение? (то есть уменьшить значение мантиссы на 1 единицу)?
Я подумал об использованииDouble.Epsilon
но это ненадежно, как этотолько самая маленькая дельта от нуля, и поэтому неработать для больших значений (т.е.9999999999 - Double.Epsilon == 9999999999
).
Так какой алгоритм или код нужен такой, чтобы:
NextSmallest(Double d) < d
... это всегда правда.