📅  最后修改于: 2023-12-03 15:37:18.465000             🧑  作者: Mango
在 C++ 中,浮点数的输出默认只保留 6 位小数。但有时我们需要设置更多或更少的小数位数。这篇文章将介绍如何在 C++ 中设置浮点数的小数位数。
C++ 中定义了一个 iomanip 的库,其中的 std::setprecision 可以用来设置小数点后的精度。
例如下面的代码设置输出小数点后 2 位:
#include <iostream>
#include <iomanip>
int main()
{
double num = 3.14159265358979323846;
std::cout << std::fixed << std::setprecision(2) << num << std::endl;
return 0;
}
输出为:
3.14
其中,std::fixed 用于将浮点数转换为常规小数形式,即不使用科学计数法。
std::setprecision 的参数表示需要保留的小数点后的位数。
如果需要将一个浮点数转换为字符串并设置小数点后的位数,可以使用 std::ostringstream。
以下是一个示例代码:
#include <iostream>
#include <sstream>
#include <iomanip>
int main()
{
double num = 3.14159265358979323846;
std::ostringstream os;
os << std::fixed << std::setprecision(2) << num;
std::string str = os.str();
std::cout << str << std::endl;
return 0;
}
输出为:
3.14
其中,std::setprecision 的参数表示需要保留的小数点后的位数。
本文介绍了在 C++ 中如何设置浮点数的小数位数,使用了 std::setprecision 和 std::ostringstream 两种方式。
希望对你有所帮助!