Код: Выделить всё
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
system("clear");
int i = 3;
double j = 2.777777;
j = j + i;
double d3;
int a1 = 2;
int a2 = 3;
d3 = static_cast<double>(a1) / a2;
cout.precision(5);
cout << j << endl;
cout << d3;
return 0;
}
При выполнении полученного бинарика выдаётся результат:
5.7778
0.66667
Получается, что по факту cout.precision(5); распространяется только на переменную d3, для переменной j задано 4 знака после запятой, да и то, непонятно каким образом. Подскажите, пожалуйста, в чём тут дело?