Точность по умолчанию для double в C++
В последнее время я изучаю CPP, и я столкнулся с этим вопросом:
Рассмотрим следующую программу:
#include <iostream>
using namespace std;
class Hall
{
public:
double cost;
};
int main()
{
Hall hall;
hall.cost=10000.50;
cout<<hall.cost;
return 0;
}
What will be the output of above coding?
Ответ на этот вопрос 10000,5, однако я не мог понять, почему это так? На мой взгляд, ответ должен быть либо 10000,500000, поскольку double имеет точность до 6 знаков после запятой, либо он должен печатать 10000,50, так как это значение, присвоенное Hall.cost.
Пожалуйста, объясни.