C++基础之string与数字(int、long、float、doubel)之间相互转换

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类型的指针,值会被设置成字符串中数字类型值后面第一个字符的下标位置,例如:“

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值