По сути, мне любопытно, как получить new BigDecimal(Double.toString(d))
, не проходя процесс создания строки.
Документация для Double.toString
довольно сложна (и интересна). Насколько я понимаю, метод на самом деле не возвращает строковое представление числа, фактически представленного данным двойным числом, но строковое представление (ближайшего) кратчайшего действительного числа, которое однозначно идентифицирует данный двойной .
(мне на самом деле не нужно этого. Если бы я это сделал, я бы в любом случае прошел бы строку. Мне просто любопытно, как этот алгоритм находит это "короткое" действительное число, которое уникально определяет данное двойное значение.)
(Это дополнительный вопрос по к этому вопросу .)