21xrx.com
2024-11-05 20:26:05 Tuesday
登录
文章检索 我的文章 写文章
C++实现小数位数的控制输出
2023-07-09 00:56:04 深夜i     --     --
C++ 控制输出 小数位数

在C++程序中,小数位数的输出是很常见的需求。比如要求输出一个浮点数,但只保留两位小数,或者要求输出一个百分数,但保留四位小数,这时就需要用到小数位数的控制。

C++中,可以使用iomanip头文件中的setprecision()函数控制输出的小数位数。setprecision()函数接收一个整型参数n,表示保留小数点后n位。例如,要输出浮点数pi,保留5位小数,可以使用如下代码:


#include <iostream>

#include <iomanip>

using namespace std;

int main() {

  double pi = 3.14159265358979323846;

  cout << setprecision(5) << pi << endl;

  return 0;

}

运行结果为:


3.1416

同样地,要输出百分数p,保留2位小数,可以使用如下代码:


#include <iostream>

#include <iomanip>

using namespace std;

int main() {

  double p = 0.789;

  cout << setprecision(2) << fixed << p * 100 << "%" << endl;

  return 0;

}

运行结果为:


78.90%

在这个例子中,需要将小数转换为百分数,并保留两位小数,再输出。fixed关键字表示将浮点数转换成固定小数位表示,在这里可以理解为去掉科学计数法的表示方法。

另外,setprecision()函数的有效范围是当前输出流,如果要控制多个输出流的小数位数,需要在每个流中都设置一遍,或使用ostream类的precision()函数。ostream类是流类的基类,可以用来表示输出流,precision()函数与setprecision()函数的用法类似。

以上就是C++实现小数位数控制输出的方法,通过setprecision()函数可以轻松地实现小数位数的控制,方便地满足各种输出需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复