Формат вывода double без правых нулей

Страницы: 1
RSS
Формат вывода double без правых нулей
 
В OnAllTrade получаю цену акции, а она там имеет тип double (в отличие от getQuoteLevel2, где она в виде строки). По какому сишному формату для printf можно вывести double без правых незначащих нулей, если неизвестно, сколько значащих цифр в дробной части? Формат %g это делает, есть ли там есть риск, что он может вывести число с экспонентой? Неужели в си это невозможно? Я с пом. поиска ответа не нашёл. А скрипт на Lua просто берёт и выводит это, как мне надо. Как он это делает, вручную удаляет в строке правые нули?
https://learn.microsoft.com/ru-ru/cpp/c-runtime-library/format-specification-syntax-printf-and-wprin...
 
Заметил такие сюрпризы с форматом %g:
Число 10000.2345 выводится в виде 10000.2
Число 100000.2345 выводится в виде 100000
Формат %f работает без ошибок, но с правыми нулями.
 
Тут нашёл обсуждение костылей (также по ссылке оттуда на англ.):
https://ru.stackoverflow.com/questions/1035307/С-Как-реализовать-вывод-вещественных-чисел-без-незнач...
Такое впечатление, что в общем случае надо самому в строке после snprintf удалять правые нули...
 
до кучи:
https://github.com/miloyip/dtoa-benchmark/tree/master
Страницы: 1
Читают тему
Наверх