c++标准库数字与字符相互转换

1.字符串转数字

使用C++11引入的C++库函数将string转换为数值类型,相应的库函数申明于头文件<string>中。

名称    原型    说明
stoi    int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);    Convert string to integer (function template )
stol    long stol (const string& str, size_t* idx = 0, int base = 10);
long stol (const wstring& str, size_t* idx = 0, int base = 10);    Convert string to long int (function template)
stoul    unsigned long stoul (const string& str, size_t* idx = 0, int base = 10);
unsigned long stoul (const wstring& str, size_t* idx = 0, int base = 10);    Convert string to unsigned integer (function template)
stoll    long long stoll (const string& str, size_t* idx = 0, int base = 10);
long long stoll (const wstring& str, size_t* idx = 0, int base = 10);    Convert string to long long (function template)
stoull    unsigned long long stoull (const string& str, size_t* idx = 0, int base = 10);
unsigned long long stoull (const wstring& str, size_t* idx = 0, int base = 10);    Convert string to unsigned long long (function template)
stof    float stof (const string& str, size_t* idx = 0);
float stof (const wstring& str, size_t* idx = 0);    Convert string to float (function template )
stod    double stod (const string& str, size_t* idx = 0);
double stod (const wstring& str, size_t* idx = 0);    Convert string to double (function template )
stold    long double stold (const string& str, size_t* idx = 0);
long double stold (const wstring& str, size_t* idx = 0);    Convert string to long double (function template)
形参说明: 
str:重载了string和wstring版本,表示被转换的字符串。

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

base:表示转换基准,默认是10进制。
 

2.数字转字符串

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);
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值