21xrx.com
2025-04-05 05:53:26 Saturday
文章检索 我的文章 写文章
C++ 如何将 float 转为 string 并保留两位小数?
2023-07-05 08:56:26 深夜i     147     0
C++ float string 保留两位小数

在C++中,将 float 转为 string 并保留两位小数可以使用以下两种方法。

方法一:使用 stringstream 类

stringstream 是一个可以读写字节流的类,可以将 float 转为 string。首先,需要包含头文件 ,然后使用 stringstream 对象将 float 转为 string,最后使用 std::setprecision(2)函数设置小数位数为两位。

示例代码如下:

#include <iostream>
#include <sstream>
int main() {
  float f = 3.1415926;
  std::stringstream ss;
  ss << std::fixed << std::setprecision(2) << f;
  std::string s = ss.str();
  std::cout << s << std::endl; // 输出 3.14
  return 0;
}

方法二:使用 sprintf 函数

sprintf 函数可以将 float 格式化为 char*,然后可以将 char* 转为 string。同样需要使用 std::setprecision(2)设置小数位数。

示例代码如下:

#include <iostream>
#include <cstdio>
int main() {
  float f = 3.1415926;
  char buffer[30];
  sprintf(buffer, "%.2f", f);
  std::string s(buffer);
  std::cout << s << std::endl; // 输出 3.14
  return 0;
}

这两种方法都可以将 float 转为 string 并保留两位小数,选择哪个方法取决于个人喜好和代码需求。

  
  

评论区