с++ округляет деление

278
22 января 2018, 08:22

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

Например:

При коде

double a = 115;
double b = 34;
double result = a / b;
cout << result << setprecision(11) << endl;

вывод будет

- 3,38235

хотя на калькуляторе

- 3,3823529411764705882352941176471

Что нужно сделать, чтобы получить результат с точностью до 11-й цифры после запятой?

В Visual Studio данные числа не считает до 11-й цифры после запятой, в MingW считает, но при делении на 3 MingW тоже округляет, из-за чего я в недоумении.

Answer 1

Вместо

cout << result << setprecision(11) << endl;

используйте

cout << setprecision(11) << result << endl;

так как setprecision(11) выполняться для следующих элементов.

READ ALSO
Работа с QDateEdit и QTimeEdit c++

Работа с QDateEdit и QTimeEdit c++

Как передать дату из QCalendarWidget в QDateEdit который находится на отдельном окне

298
OpenGL и C++ на Linux

OpenGL и C++ на Linux

Учу OpenGL на C++Сам работаю на Linux Mint

262
Проблема с std::string

Проблема с std::string

Не могу понять, как сложить строки?

324
Смысл this в C++ / self в Python

Смысл this в C++ / self в Python

В чем суть self в ООП языка Python и this в C++ (лучше в примерах)?

315