21xrx.com
2025-06-09 01:38:34 Monday
文章检索 我的文章 写文章
C++中保留小数的方法
2023-07-06 12:51:27 深夜i     113     0
保留小数 C++ 方法

C++程序中经常需要对小数进行计算和处理,而在输出结果时要控制小数位数常常是很有必要的。本文将介绍C++中保留小数的方法。

方法一:使用fixed和setprecision函数

可以使用C++标准库提供的fixed和setprecision函数来控制小数位数。其中fixed函数用于固定小数点的位置,setprecision函数用于指定保留的小数位数。

示例代码:

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
  double num = 3.1415926535;
  //保留5位小数
  cout << fixed << setprecision(5) << num << endl;
  //保留2位小数,并将结果存储到另一个变量中
  double result = fixed << setprecision(2) << num;
  cout << result << endl;
  return 0;
}

在上述代码中,使用fixed和setprecision函数可以分别控制小数点位置和保留小数位数。代码输出结果如下:

3.14159
3.14

方法二:使用字符串流

使用字符串流也可以实现对小数位数的控制。可以将浮点数转换为字符串,然后选择保留的小数位数,最后再将字符串转换回浮点数即可。

示例代码:

#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;
int main() {
  double num = 3.1415926535;
  stringstream ss;
  ss << fixed << setprecision(5) << num;
  double result;
  ss >> result;
  //保留5位小数
  cout << result << endl;
  ss.str("");
  ss.clear();
  ss << fixed << setprecision(2) << num;
  ss >> result;
  //保留2位小数
  cout << result << endl;
  return 0;
}

在上述代码中,使用stringsteam来进行字符串流操作,先将浮点数转换为字符串,然后选择保留的小数位数,最后再将字符串转换回浮点数输出结果。代码输出结果如下:

3.14159
3.14

以上就是C++中保留小数的两种方法。使用这些方法可以有效地避免输出的结果过于复杂或不够精确的问题,提高程序可读性和运行效率。

  
  

评论区