Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 18.09.2017
Сообщений: 73
1

Как вывести значение типа double с 5 знаками после точки без лишних преобразований?

25.03.2019, 11:25. Просмотров 2857. Ответов 10
Метки нет (Все метки)


Как вывести число с 5 знаками после точки без лишних преобразований.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2019, 11:25
Ответы с готовыми решениями:

Вывести значение пераменной с шестью знаками после запятой
#include <iostream> using std::cout; using std::cin; using std::endl; using std::fixed; ...

Как записать в массив типа variant значение типа double?
Есть массив массивов типа variant. В первой ячейке (элементе) текст, в остальных 4 нули. Текст-1...

Подскажите с знаками после коми в double
как сделать чтоб double виводилса с одним знаком после коми 0,3 а не 0,325664 чтото слишал про f...

Как отследить ввод точки в поле типа double
Здравствуйте. Я отслеживаю изменение в поле и пересчитываю данные: Private Sub...

10
"C with Classes"
1616 / 1241 / 472
Регистрация: 16.08.2014
Сообщений: 5,215
Записей в блоге: 1
25.03.2019, 11:27 2
Кулик_Настя, Как с помощью манипуляторов (или флагов форматирования) найти количество знаков после запятой?
1
2750 / 1697 / 352
Регистрация: 09.09.2017
Сообщений: 7,142
25.03.2019, 11:44 3
Лучший ответ Сообщение было отмечено Кулик_Настя как решение

Решение

C
1
printf("%.5f\n", f);
1
0 / 0 / 1
Регистрация: 18.09.2017
Сообщений: 73
29.03.2019, 18:14  [ТС] 4
_stanislav, у меня к вам может немного тупой вопрос, может ли эти флаги некорректно работать и как это исправить
Дело в том, что я пробивала этот способ, но он работает то ли через раз то ли первый вывод и последний вывод пропускает

Добавлено через 6 минут
Но это было на вц в университете... Может по этому, ведь на тех компах из прошлого века может случится все что угодно

Добавлено через 1 минуту
Или я что-то напутала, и не туда флаг поставила

Добавлено через 3 минуты
И еще такой вопрос флаг во время подсчетов может искажать результат
0
Mental handicap
1243 / 621 / 171
Регистрация: 24.11.2015
Сообщений: 2,426
29.03.2019, 18:28 5
Лучший ответ Сообщение было отмечено Кулик_Настя как решение

Решение

Цитата Сообщение от Кулик_Настя Посмотреть сообщение
Дело в том, что я пробивала этот способ, но он работает то ли через раз то ли первый вывод и последний вывод пропускает
Код в студию, или возьмите тот вариант что посоветовал ув. COKPOWEHEU.
Цитата Сообщение от Кулик_Настя Посмотреть сообщение
И еще такой вопрос флаг во время подсчетов может искажать результат
Флаг ставят во время вывода, т.е. в этот момент подсчеты уже скорее всего все проделаны и результат давно записан в переменную, флаг просто говорит как именно ее вывести, итог: флаг не может изменить значение переменной.
1
0 / 0 / 1
Регистрация: 18.09.2017
Сообщений: 73
29.03.2019, 23:58  [ТС] 6
Цитата Сообщение от Azazel-San Посмотреть сообщение
Флаг ставят во время вывода, т.е. в этот момент подсчеты уже скорее всего все проделаны и результат давно записан в переменную, флаг просто говорит как именно ее вывести, итог: флаг не может изменить значение переменной.
А что если вывод внутри цикла?
0
5884 / 4000 / 2316
Регистрация: 18.12.2017
Сообщений: 12,530
30.03.2019, 00:05 7
Кулик_Настя, вариант
C++
1
2
double a=10.345724;
cout << setprecision(5) << fixed << a << "\n";
не подходит ?
1
0 / 0 / 1
Регистрация: 18.09.2017
Сообщений: 73
08.04.2019, 09:12  [ТС] 8
Yetty, нет не работает
0
Mental handicap
1243 / 621 / 171
Регистрация: 24.11.2015
Сообщений: 2,426
08.04.2019, 09:18 9
Кулик_Настя, долго вы пробовали, однако.
И что значит не работает?
1
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
08.04.2019, 09:54 10
Цитата Сообщение от Кулик_Настя Посмотреть сообщение
нет не работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iomanip>
#include <iostream>
 
int main()
{
    double d = 10.53446;
    
 
    
    std::cout << std::fixed << std::setprecision(5) << d << std::endl;
    
    std::cout << std::fixed << std::setprecision(4) << d << std::endl;
    
    std::cout << std::fixed << std::setprecision(3) << d << std::endl;
    
    std::cout << std::fixed << std::setprecision(2) << d << std::endl;
    
    std::cout << std::fixed << std::setprecision(1) << d << std::endl;
}
1
0 / 0 / 1
Регистрация: 18.09.2017
Сообщений: 73
09.04.2019, 11:52  [ТС] 11
Я наверное поняла почему данный метод не работал, из-за неправильных данных, у меня получалось настолько малое число, что команду считало ошибкой. std тут не причем, я объявила это разрешение имен. Спасибо всем, я решила свою проблему.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2019, 11:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как разделить целое число Int64 на целое 1024 и получить double с 2 знаками после запятой
Int64 chislo=1234567890; double chislo2=chislo/1024;...

Как считать числа типа double с запятой вместо точки
Нужно через fstream считать числа double. Если ставить точки после целой части, то считывает...

Как вывести на экран числа без лишних символов
Нужно, чтобы на экране вышли цифры 1234 по ДДдос... результат на выходе 1234 + целая гора мусора......

Как сгенерировать случайное число типа я double имея на входе 2 числа типа double - минимальное и максимальное
Например: public class ExtendedRandom : Random { public ExtendedRandom() ...

Как правильно вывести число с несколькими знаками после запятой
Добрый вечер. Как правильно посчитать результат деления и округлить до двух знаков и вывести в...

Как вывести квадратный корень с числа с 4-мя знаками после запятой
подскажите, пожалуйста, как вывести квадратный корень с числа с 4-мя знаками после запятой?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.