Количество знаков после запятой c++
Если выводить с помощью СИшного printf(«%.9f», res) — выводится 4.000000000, 1.500000000 При выводе с помощью std. cout
Отслеживать
219k 15 15 золотых знаков 119 119 серебряных знаков 230 230 бронзовых знаков
задан 17 дек 2019 в 17:46
13 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
Ничего не понял. 8./2. — это и есть 4.000000000 , а 3./2. — это и есть 1.500000000 . В чем проблема?
17 дек 2019 в 20:16
В постановке задачи. Мне нужен именно такой формат вывода, который я описал.
17 дек 2019 в 23:30
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
cout
2.714285714
Смотрите всякие разности форматирования тут.
Отслеживать
ответ дан 17 дек 2019 в 17:50
219k 15 15 золотых знаков 119 119 серебряных знаков 230 230 бронзовых знаков
Для 19 и 7 Ваш вариант сработал. Но есть 2 проблемы: при 8.0/2.0 выводит 4, а мне нужен вывод 4.0; при, например, 40.0/3.0 выводит только 8 значений после запятой
17 дек 2019 в 18:04
Ну поднимите точность - она учитывает все знаки.
17 дек 2019 в 18:12
- Деление целочисленных дает целочисленное, остаток отсекается.
- По умолчанию вещественные имеют тип данных double , в спецификации формата printf() он указывается как %lf .
printf("%.9f",19.0F/7.0F); // float -> double printf("%.9lf",19.0/7.0); // double -> double printf("%.9Lf",19.0L/7.0L); // long double -> long double
Подробнее можно почитать тут и тут.
Отслеживать
ответ дан 17 дек 2019 в 17:48
1,947 5 5 серебряных знаков 24 24 бронзовых знака
неверно. в printf double — это как раз %f , а %Lf — это уже long double . Спецификатора формата %lf в принципе нет.
17 дек 2019 в 19:10
преобразовывать в double . и да для scanf 'а значения спецификаторов отличаются. это один из старых квирков Си.
17 дек 2019 в 19:31
@Πανμέτρονάριστον Можно тоже как %f . При передаче float в сишный . -параметр он автоматически преобразуется в double . См. en.cppreference.com/w/cpp/io/c/fprintf
17 дек 2019 в 19:31
@Fat-Zer Посмотрел cppreference. Там написано, что %lf есть (добавили в C++11/C99), и не отличается от %f (оба могут и в float и double ).
17 дек 2019 в 19:34
@HolyBlackCat, да. моя ошибка. %lf — это тоже что и %f по всем стандартам.
17 дек 2019 в 19:47
Если выводить с помощью СИшного printf("%.9f", res)
Просто используй спецификатор %g:
printf("%.9g", 19./7); // 2.71428571 printf("%.9g", 3./2); // 1.5 printf("%.9g", 8./2); // 4 printf("%.9g", sqrt(10101)); //100.503731
Стоит помнить, что это 9 значащих цифр, а не 8 цифр после точки. Если нужно именно последнее, то можно сделать как-то так:
double res = sqrt(10101); printf("%.*g\n", 8 + 1 + (int)log10(res), res); // 100.50373127
как ограничить число знаков после запятой в типе float (Си)?
Тип float всегда с одним и тем же количество знаков. А выводить на экран можно с любым количеством знаков и в любом формате - это зависит от того, какой функцией выводить, у каждой свои параметры.
printf("%.3f", float_val);
выводит три знака после запятой
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Как в C# вывести число с определенным количеством знаков после запятой?

Здрасьте, я ещё совсем новичок в сфере программирования, но хотелось бы оставить свой ответ на случай, если у такого же неопытного юнца, как я, возникнет какая-то схожая проблема
Перед выводом, после всех исчислений, можно воспользоваться таким методом:
double c = Math.Round(c, 2);
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- C#
- +1 ещё
Как проверять столкновение префаба и UI панели в Unity?
- 1 подписчик
- 2 часа назад
- 13 просмотров
Как сокращать количество цифр после запятой при выводе C++?


- Программирование
- +1 ещё
Стоит ли изучать C++ в 2024?
- 1 подписчик
- 4 минуты назад
- 22 просмотра

- C++
Не могу, понять как компьютер перемещает свой знак?
- 1 подписчик
- 16 часов назад
- 77 просмотров

- C++
- +2 ещё
Почему не компилируется код C++ в VS code/Platformio?
- 1 подписчик
- 19 часов назад
- 66 просмотров

- C++
Что быстрее индексы или указатели?
- 1 подписчик
- 03 янв.
- 172 просмотра

- C#
- +4 ещё
Как реализовать движение частиц в векторном поле или сплошной среде?
- 1 подписчик
- 03 янв.
- 106 просмотров

- Windows
- +2 ещё
Как отлавливать курсор при наведении на дочернее окно?
- 1 подписчик
- 02 янв.
- 118 просмотров

- C++
Как обеспечивается совместимость динамических библиотек при ликовке в рантайме?
- 3 подписчика
- 30 дек. 2023
- 312 просмотров

- C++
Как установить библиотеку c++ если в папке lib пусто и при запуске ошибка LINK2019?
- 1 подписчик
- 29 дек. 2023
- 57 просмотров

- C++
Как лучше добавить перед структурой ещё одну и поместить в массив?
- 1 подписчик
- 29 дек. 2023
- 71 просмотр

- C++
Почему прога билдится, но не запускается?
- 1 подписчик
- 28 дек. 2023
- 97 просмотров
До 175 000 ₽
Bell Integrator • Екатеринбург
До 150 000 ₽
Bell Integrator • Санкт-Петербург
До 150 000 ₽
08 янв. 2024, в 17:01
10000 руб./за проект
08 янв. 2024, в 17:00
3000 руб./за проект
08 янв. 2024, в 16:52
1500 руб./в час
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
- Есть ли не официальные аналоги миджорни апи?
- 3 подписчика
- 1 ответ
- 4 подписчика
- 1 ответ
- 3 подписчика
- 0 ответов
- 3 подписчика
- 3 ответа
- 2 подписчика
- 0 ответов
- 2 подписчика
- 4 ответа
- 2 подписчика
- 3 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
- 2 подписчика
- 2 ответа