-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Новый манипулятор вывода чисел с плавающей точкой #590
Comments
Сейчас комитет отходит от iostream в пользу форматирования через std::format или std::print. У них есть форматтеры
Вывод:
Онлайн песочница с примером https://godbolt.org/z/PG8Pd4nfP Однако эти форматы либо не ставят А зачем понадобилось иметь именно |
Понятно что это ненадежный источник информации о типе, но она может служить подсказкой парсеру. Здесь вопрос скорее не в надежности представления типа, а в том что более соотвествует ожиданиям и позволит избежать некоторых ошибок. |
Пара замечаний в догонку:
|
Слепил простой демонстратор моих хотелок если кому-то интересно -> https://github.com/asherikov/numdata. |
Добавить манипулятор вывода чисел с плавающей точкой для компактного форматирования без потери точности и типа, существующие механизмы этого не позволяют (https://en.cppreference.com/w/cpp/io/manip):
std::setprecision
низкоуровневая функция, в сочетании со стандартным форматированием целочисленных значений теряется точка при выводе, что приводит к потере информации о типе и возможным проблемам в обрабатывающем коде на других языках;std::scientific
илиstd::setprecision
+std::showpoint
избыточен.Пример:
Результат:
Хочется:
The text was updated successfully, but these errors were encountered: