使用std::to_string可直接转换基本类型数字为字符串,如int num=123;std::string str=std::to_string(num);结果为"123"。

在C++中,将数字转换成字符串有多种常用方法,每种方式都有其适用场景。下面介绍几种最常见且实用的方法。
1. 使用 std::to_string
这是最简单直接的方式,适用于基本数据类型(如 int、float、double 等)。示例:
立即学习“C++免费学习笔记(深入)”;
int num = 123;
std::string str = std::to_string(num);
// str 的值为 "123"
支持类型包括:int、long、long long、unsigned、float、double 等。
2. 使用 stringstream
通过字符串流对象进行转换,灵活性高,适合复杂格式化输出。示例:
立即学习“C++免费学习笔记(深入)”;
#include
std::stringstream ss;
int num = 456;
ss
std::string str = ss.str();
// str 的值为 "456"
也可以连续写入多个变量:
ss
3. 使用 fmt 库(现代C++推荐)
如果你使用的是 C++20 或引入了 {fmt} 库(如 fmtlib),可以使用更高效的格式化方式。示例(使用 fmt):
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
#include
std::string str = fmt::format("{}", 789);
// str 的值为 "789"
性能优于 stringstream,语法清晰,逐渐成为行业标准。
4. C风格转换(不推荐但可用)
使用 sprintf 或 itoa(非标准)等函数,主要用于与C代码兼容。示例:
立即学习“C++免费学习笔记(深入)”;
char buffer[32];
sprintf(buffer, "%d", 1000);
std::string str(buffer);
// 注意缓冲区大小,避免溢出
这种方式容易出错,建议优先使用前面的C++方法。
基本上就这些常用方式。日常开发中,std::to_string 足够应对大多数情况;需要格式控制时用 stringstream 或 fmt。选择合适的方法能提高代码可读性和安全性。










