C++ string与int的互相转换

#include <iostream> 
#include <string> 
#include <sstream>      //要使用stringstream流应包含此头文件 
using namespace std; 

int main() 
{ 
stringstream stream;     //声明一个stringstream变量 
int n; 
string str; 

//string转int 
stream << "1234";     //向stream中插入字符串"1234" 
stream >> n;     //从stream中提取刚插入的字符串"1234"  并将其赋予变量n完成字符串到int的转换 
cout << n << endl;     //输出n 

stream.clear();     //同一stream进行多次转换应调用成员函数clear 

//int转string 
stream << 1234;     //向stream中插入整型数1234 
stream >> str;     //从steam中提取刚插入的整型数   并将其赋予变量str完成整型数到string的转换 
cout << str << endl;     //输出str 
return 0; 
} 
在Java中,将int转换String有两种常见的方法: 第一种方法是使用字符串拼接的方式,即将int类型的变量与一个空字符串相加,例如:s = i + ""。这种方法会产生两个String对象。 第二种方法是使用String类的静态方法valueOf(),例如:s = String.valueOf(i)。这种方法直接使用String类的静态方法,只产生一个对象。 在将String转换int时,也有两种常见的方法: 第一种方法是使用Integer类的静态方法parseInt(),例如:i = Integer.parseInt(s)。这种方法直接使用静态方法,不会产生多余的对象,但如果字符串无法解析为整数,会抛出异常。 第二种方法是使用Integer类的valueOf()方法,然后再调用intValue()方法,例如:i = Integer.valueOf(s).intValue()。这种方法相当于先使用Integer.valueOf(s)将字符串转换Integer对象,然后再调用intValue()方法将Integer对象转换int类型。这种方法也会抛出异常,并且会多产生一个对象。 在C++中,将字符串转换为整数可以使用以下几种方法: 第一种方法是使用stoi函数,格式为:int number = stoi(str)。这种方法需要引入头文件#include <string>,并且可以直接将字符串转换为整数。 第二种方法是使用字符串流对象istringstream来实现,例如:istringstream is(str); int i; is >> i;。这种方法需要引入头文件#include <sstream>,并且需要使用字符串流对象来读取整数。 第三种方法是使用隐式转换,即直接将字符串赋值给整型变量,例如:int i = atoi(str.c_str())。这种方法需要引入头文件#include <cstdlib>,并且会将字符串转换为整数,但如果字符串无法解析为整数,会返回0。 所以,在Java中,将String转换int可以使用parseInt()方法或valueOf()方法;在C++中,可以使用stoi函数、字符串流对象istringstream或隐式转换。 #### 引用[.reference_title] - *1* *3* [Stringint 类型之间的互相转换](https://blog.csdn.net/rui_xiao/article/details/79711950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [stringint之间转换](https://blog.csdn.net/weixin_43892514/article/details/120876499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值