C++中的to_string()函数[C++11支持]

作者: zixun 发布时间: 2019-11-27 浏览: 3508 次 编辑

C++ -> 字符串库 -> std::basic_string

定义于头文件

std::string to_string(int value); (1) (C++11起)
std::string to_string(long value); (2) (C++11起)
std::string to_string(long long value); (3) (C++11起)
std::string to_string(unsigned value); (4) (C++11起)
std::string to_string(unsigned long value); (5) (C++11起)
std::string to_string(unsigned long long value); (6) (C++11起)
std::string to_string(float value); (7) (C++11起)
std::string to_string(double value); (8) (C++11起)
std::string to_string(long double value); (9) (C++11起)

std::to_string是C++标准(2011年)的最新版本中引入的功能。旧的编译器可能不支持它。

1) 有符号十进制整数转换为字符串内容相同的std::sprintf(buf, “%d”, value)会产生足够大的buf.

2) 有符号十进制整数转换为字符串内容相同的std::sprintf(buf, “%ld”, value)会产生足够大的buf.

3) 有符号十进制整数转换为字符串内容相同的std::sprintf(buf, “%lld”, value)会产生足够大的buf.

4)std::sprintf(buf, “%u”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

5)std::sprintf(buf, “%lu”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

6)std::sprintf(buf, “%llu”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

6)std::sprintf(buf, “%llu”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.
7,8) std::sprintf(buf, “%f”, value)会产生足够大的buf了同样内容的一个字符串转换成一个浮点值.

9) std::sprintf(buf, “%Lf”, value)会产生足够大的buf了同样内容的一个字符串转换成一个浮点值.

参数

value - 一个数值转换

返回值

一个字符串保持转换后的值

示例

#include 
#include 

int main()
{
    double f = 23.43;
    std::string f_str = std::to_string(f);
    std::cout << f_str << '\n';
}

输出:

23.430000

原文地址为:https://blog.csdn.net/weixin_34321977/article/details/94719911