在C++11及以后标准中,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"),不是字符本身。
to_string 对浮点数仅按默认精度转换(通常 6 位有效数字),无法控制小数位数或格式(如固定两位小数)。需要精确格式化时,推荐:
std::ostringstream:灵活控制格式(如 std::fixed、std::setprecision)std::format(C++20):更现代、简洁,例如 std::format("{:.2f}", 3.14159) → "3.14"
基本上就这些。日常整数转字符串,to_string 足够好用;有格式需求,再考虑流或 std::format。