0. 头文件
以下接口的头文件均为<string>
1. 数字转换为string
1.1 std::tostring(c++11新增)
函数原型:
string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);
参数说明:
val: 数字
功能说明
将数字类型转换为字符串类型。
返回值
将数字转换后的字符串。
Example
// to_string example
#include // std::cout
#include // std::string, std::to_string
int main ()
{
std::string pi = “pi is " + std::to_string(3.1415926);
std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number”;
std::string aaa = std::to_string(ox42ff)
std::cout << pi << ‘\n’;
std::cout << perfect << ‘\n’;
std::cout << aaa << ‘\n’;
return 0;
}
output:
pi is 3.141593
28 is a perfect number
17151
异常信息
可能抛出字符串的构造异常。
1.2 std::to_wstring(C++11新增)
函数原型
wstring to_wstring (int val);
wstring to_wstring (long val);
wstring to_wstring (long long val);
wstring to_wstring (unsigned val);
wstring to_wstring (unsigned long val);
wstring to_wstring (unsigned long long val);
wstring to_wstring (float val);
wstring to_wstring (double val);
wstring to_wstring (long double val);
说明
该函数功能是将数字转为wide string,其他的功能和使用方式与std::to_string 相同,不再重复叙述。
2. string转换为数字
2.1 std::stoi(C++11新增)
功能: 将string转换为integer。
解析string的内容,将内容按照指定的base(进制)的数字方式来解析,并返回一个int类型的数值。
如果idx不是空指针,会将数字后面第一个字符的下标位置赋值给idx返回。
该函数底层是调用strtol来实现的转换(可以通过strtol了解转换的更多细节)。
函数原型:
int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
参数说明:
str: 具有整数表示形式的字符串对象。
idx: size_t类型的指针,值会被设置成字符串中数字类型值后面第一个字符的下标位置,例如:“