c++如何将数字转换为字符串 to_string()函数的使用【实用技巧】

26次阅读

to_String()支持所有整数类型int、long等)和浮点类型(Floatdouble等),不支持自定义类型或格式控制,需包含头文件,相比sprintf和stringstream更安全简洁。

c++如何将数字转换为字符串 to_string()函数的使用【实用技巧】

c++中,to_string() 是最直接、安全且标准的数字转字符串方法,无需手动管理内存或格式化细节,适用于整型浮点型等基本数值类型

to_string() 支持哪些数字类型

该函数是重载函数,内置支持以下常见数值类型:

  • 所有整数类型:int、long、long long、unsigned int 等
  • 浮点类型:float、double、long double

注意:它不支持自定义类型或指针;也不接受格式控制(如保留几位小数),纯按默认精度转换。例如:

double x = 3.1415926;
string s = to_string(x); // 结果是 “3.141593”(默认6位有效数字)

使用前要包含的头文件

只需包含 <string></string>,不需要额外引入其他库:

立即学习C++免费学习笔记(深入)”;

c++如何将数字转换为字符串 to_string()函数的使用【实用技巧】

千鹿Pr助手

智能Pr插件,融入众多AI功能和海量素材

c++如何将数字转换为字符串 to_string()函数的使用【实用技巧】 163

查看详情 c++如何将数字转换为字符串 to_string()函数的使用【实用技巧】

#include
using std::to_string;

和 sprintf / stringstream 对比有什么优势

相比传统方式,to_string() 更简洁、不易出错:

  • 不用预估缓冲区大小(sprintf 容易溢出)
  • 不用构造、清空、获取结果(stringstream 写法较冗长)
  • 无异常抛出风险(只要输入合法,一定成功)

示例对比:

// to_string(推荐)
string s1 = to_string(42) + to_string(3.14);
// stringstream(稍繁琐)
std::stringstream ss; ss

处理精度不足时的替代方案

如果需要控制小数位数(比如保留两位),to_string() 本身做不到,应改用 std::format(C++20)或 std::ostringstream

#include
#include
std::ostringstream oss;
oss string s = oss.str(); // “3.14”

text=ZqhQzanResources