21xrx.com
2025-06-10 16:44:13 Tuesday
文章检索 我的文章 写文章
如何在C++中保留三位小数?
2023-07-05 00:41:17 深夜i     293     0
C++ 保留小数 三位

在C++中处理浮点数时,保留小数位数是很常见的操作,但是如何保留三位小数呢?下面我们来介绍一些常用的方法。

1.使用setprecision()函数

setprecision()函数是C++标准库的一部分,可以在程序中用来设置输出流的精度。要保留三位小数,可以将该函数的参数设置为3。

例如,以下代码可以将浮点数a保留三位小数输出:

#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
  double a = 3.1415926;
  cout << fixed << setprecision(3) << a << endl;
  return 0;
}

输出结果为:

3.142

2.使用sprintf()函数

sprintf()函数可以将一个数值转换为一个字符串,并设置输出格式。要保留三位小数,可以使用格式化字符串"%.3f"。

例如,以下代码可以将浮点数a保留三位小数输出:

#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
  double a = 3.1415926;
  char buffer[50];
  sprintf(buffer, "%.3f", a);
  cout << buffer << endl;
  return 0;
}

输出结果为:

3.142

3.使用stringstream类

stringstream类可以将一个数值转换为字符串,并设置输出格式。要保留三位小数,可以使用类似于printf()函数的格式化字符串"%.3f"。

例如,以下代码可以将浮点数a保留三位小数输出:

#include <sstream>
#include <iostream>
using namespace std;
int main()
{
  double a = 3.1415926;
  stringstream ss;
  ss << fixed << setprecision(3) << a;
  string str = ss.str();
  cout << str << endl;
  return 0;
}

输出结果为:

3.142

以上就是在C++中保留三位小数的三种方法,大家可以根据自己的实际需要选择适合自己的方法。希望本文能对大家有所帮助。

  
  

评论区