您的位置:首页 > 编程语言 > C语言/C++

C++标准库中string类型与数值类型之间的转换

2017-11-11 22:44 387 查看

C++标准库中string类型与数值类型之间的转换

1、数值类型转换为string类型

std命令空间下有一个C++标准库函数std::to_string(),可用于将数值类型转换为string。使用时需要include头文件<string>。函数原型申明如下:
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);

2、string类型转换为数值类型
C++库函数将string转换为数值类型,相应的库函数申明于头文件<string>中。(C++11中)
函数原型申明如下:

int stoi (const string& str, size_t* idx = 0, int base = 10);

long stol (const string& str, size_t* idx = 0, int base = 10);

unsigned long stoul (const string& str, size_t* idx = 0, int base = 10); 

long long stoll (const string& str, size_t* idx = 0, int base = 10); 

unsigned long long stoull (const string& str, size_t* idx = 0, int base = 10);

float stof (const string& str, size_t* idx = 0);

double stod (const string& str, size_t* idx = 0);

long double stold (const string& str, size_t* idx = 0);

形参说明:

str:表示被转换的字符串。

idx:表示一个size_t*的指针类型,默认为空值。不为空时,转换成功时获取第一个非数值字符的下标。一般情况下,因为它是直接char型指针把最后非数值字符的地址值和起始地址值相减,所以也表示成功转换的字符数量,如”10”转成功为数值10时,*idx的值为2。

base:表示转换基准,默认是10进制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: