21xrx.com
2024-11-22 07:07:15 Friday
登录
文章检索 我的文章 写文章
C++中保留两位小数的方法
2023-07-09 18:48:35 深夜i     --     --
C++ 保留 两位小数 方法 编程技巧

在 C++ 中,我们经常需要对浮点数保留一定的精度,比如说保留两位小数。保留小数位数的方法其实很简单,以下是几种常用的方式。

1. 使用 printf 函数

在 C++ 中,我们可以使用 printf 函数来控制小数位数。可以使用 %.2f 来保留两位小数。如下所示:


double num = 3.1415926;

printf("%.2f", num);

2. 使用流输入输出

我们也可以使用流输入输出来保留小数位数。可以使用 std::setprecision 来设置小数位数,如下所示:


#include <iostream>

#include <iomanip> // 需要使用 std::setprecision

int main()

{

  double num = 3.1415926;

  std::cout << std::fixed << std::setprecision(2) << num << std::endl; // 设置小数位数为 2

  return 0;

}

在上述代码中,std::fixed 表示输出格式为固定小数位数,std::setprecision(2) 表示设置小数位数为 2。

3. 使用 stringstream 类

我们也可以使用 stringstream 类来实现保留小数位数。如下所示:


#include <iostream>

#include <sstream>

#include <string>

int main()

{

  double num = 3.1415926;

  std::stringstream ss;

  ss << std::fixed << std::setprecision(2) << num; // 设置小数位数为 2

  std::string s;

  ss >> s;

  std::cout << s << std::endl;

  return 0;

}

在上述代码中,我们先创建了一个 stringstream 类型的对象 ss,然后使用 ss << std::fixed << std::setprecision(2) << num; 将 num 保留两位小数后输出到 ss 中。接下来,我们将 ss 的内容转为 std::string 类型的 s,并输出。

总结一下,在 C++ 中保留小数位数有多种方法,其中比较常用的是使用 printf 函数、流输入输出和 stringstream 类。当然,根据需求的不同,使用不同的方法可能会更方便。

  
  

评论区

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