C++双精度[重复]

问题描述 投票:0回答:1
int main() {
        const double PI = 3.1415926536;
        cout << PI << endl;
        return 0;
}

为什么我的输出是3.14159 ? 好像输出值被当作浮点数处理了...?我以为所有的小数都不会改变。

c++ double
1个回答
0
投票

你的输出被std::cout截断了。要解决这个问题,可以这样做。

#include <iostream>
#include <iomanip>

using namespace std;

int main(){
    const double PI = 3.1415926536;
    cout.precision(10);
    cout << PI << endl;
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.