c-无法再打印pi的小数

这个问题已经在这里有了答案:            >            How do I print a double value with full precision using cout?                                    11个
我试图在程序中使用long double类型来打印出更多位数的pi.但是它只显示5位小数.

这是我的代码.

int main(int argc, char** argv) {

    long double pi_18 = acos(static_cast<long double>(-1));
    cout << "pi to 18:" << pi_18 << endl;

    return 0;
}

这是我的输出:

pi to 18: 3.14159

我该如何解决这个问题?

解决方法:

像这样:

#include <iomanip>
#include <iostream>

std::cout << std::setw(15) << pi_18 << std::endl;

宽度修饰符仅影响下一个格式化操作,因此,如果要格式化多个数字,则必须在每个数字之前重复此操作.查看the full documentation的格式说明符.

上一篇:使用MEF时Type.GetType返回null


下一篇:在MySQL中,BIT列是存储5、6或7字节整数的合适方法吗?