Re[3]: Java пытается маскировать неточную природу double-ов
От: Alexander G Украина  
Дата: 21.02.22 07:54
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Alexander G, Вы писали:


vsb>>>А вы как думаете? Может я не прав и это норма в современных языках? Лично мне ближе подход C++, который показывает математически точное значение при заданной точности.


AG>>Современные тенданции — специально не печатать незначащие десятичные знаки, напечатать их лишь столько, чтобы при обратной конвертации из строки попасть туда же.


N>Это если запрос явно или неявно подчёркивает печатать ровно столько знаков, сколько надо для точного представления.

N>Запросы вида %<n>.f к этому не относятся аж никак.

Верно, что printf определён так, что печатать столько знаков, сколько получится из алгоритма конвертации.
Но я думаю, печатать столько знаков, сколько действительно есть, и не больше — более правильный подход, который должен применяться по умолчанию, если не вообще всегда.

Вряд ли printf поменяют. но все новые форматтеры уже без лишних знаков. C++17 to_chars даже.

AG>>Подход printf неправильный, устаревший. Следует использовать std::format.


N>Не у всех будет C++20 даже в пару ближайших лет.


Понимаю, я лишь указал к чему идёт.
Но кстати std::to_chars c С++17.
И библиотека fmt портируема.
Русский военный корабль идёт ко дну!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.