
在C++11及以后标准中,to_string 是最简单、最安全的将数字转为字符串的方法,支持整型、浮点型等基本数值类型。
to_string 基本用法
它定义在 std::string:
-
std::to_string(42)→"42" -
std::to_string(-17)→"-17" -
std::to_string(3.14159)→"3.14159"(注意:精度由系统决定,不保证保留小数位数)
支持的参数类型
to_string 重载了常见数值类型,包括:
-
int、long、long long -
unsigned及其变体(如unsigned int、unsigned long long) -
float、double、long double
不支持自定义类型或指针;若传入 char,会转成对应 ASCII 数值的字符串(如 to_string('A') 得到 "65"),不是字符本身。
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
立即学习“C++免费学习笔记(深入)”;
浮点数精度问题与替代方案
to_string 对浮点数仅按默认精度转换(通常 6 位有效数字),无法控制小数位数或格式(如固定两位小数)。需要精确格式化时,推荐:
-
std::ostringstream:灵活控制格式(如std::fixed、std::setprecision) -
std::format(C++20):更现代、简洁,例如std::format("{:.2f}", 3.14159)→"3.14"
注意事项
- 必须包含 #include
- 编译器需开启 C++11 或更高标准(如 g++ -std=c++11)
- 对极大整数或极高精度浮点数,要注意目标类型的表示范围和舍入行为
基本上就这些。日常整数转字符串,to_string 足够好用;有格式需求,再考虑流或 std::format。









