📜  带有示例的C++中的iomanip setprecision()函数(1)

📅  最后修改于: 2023-12-03 14:54:05.772000             🧑  作者: Mango

带有示例的C++中的iomanip setprecision()函数

在C++中,iomanip库中有一个很有用的函数叫做setprecision()。这个函数可以用来设置输出流中浮点数的小数位数。在本文中,我们将详细讲解setprecision()的用法,并给出一些示例。

函数声明

首先,我们来看看setprecision()的函数声明:

#include <iomanip>

std::ios_base& setprecision(int n);

setprecision()函数的参数n表示要保留的小数位数,返回值类型为std::ios_base&。

用法示例

下面是一个简单的使用setprecision()的示例,可以看到它是如何控制输出流中浮点数的小数位数的:

#include <iostream>
#include <iomanip>

int main()
{
    double pi = 3.14159265358979323846;
    
    std::cout << "pi = " << std::setprecision(5) << pi << std::endl;    // pi = 3.1416
    std::cout << "pi = " << std::setprecision(2) << pi << std::endl;    // pi = 3.1
    std::cout << "pi = " << std::setprecision(9) << pi << std::endl;    // pi = 3.141592654
    std::cout << "pi = " << std::fixed << std::setprecision(2) << pi << std::endl;    // pi = 3.14
    std::cout << "pi = " << std::scientific << std::setprecision(5) << pi << std::endl;    // pi = 3.14159e+00
    std::cout << "pi = " << std::setprecision(0) << std::fixed << pi << std::endl;    // pi = 3
    std::cout << "pi = " << std::setprecision(0) << std::scientific << pi << std::endl;    // pi = 3e+00
    
    return 0;
}

在上面的示例中,我们使用了不同的小数位数来控制输出流中的浮点数。我们还使用了两个控制符:std::fixed和std::scientific。std::fixed表示输出实数时要使用固定点小数格式,而std::scientific表示使用科学计数法格式。

总结

setprecision()是一个非常有用的函数,可以用来控制输出流中浮点数的小数位数。通过参数n,我们可以设置要保留的小数位数。另外,我们还可以使用控制符std::fixed和std::scientific来控制输出格式。