537. Complex Number Multiplication的C++解法(string和int互转)

解析复杂数值乘法与字符串转换技巧
本文详细解析了如何使用C++实现复杂数值乘法,并介绍了多种将整数转换为字符串的方法,以及从字符串转换回整数的过程。涵盖了从基本的类型转换到更高级的库函数,如stringstream的使用,提供了丰富的实践案例。
 class Solution {
 public:
	 string complexNumberMultiply(string a, string b) {
		 int pa = a.find('+');
		 int pb = b.find('+');
		 int x1 = atoi((a.substr(0, pa)).c_str());
		 int x2 = atoi((b.substr(0, pb)).c_str());
		 int y1 = atoi(a.substr(pa + 1, a.length()).c_str());
		 int y2 = atoi(b.substr(pb + 1, b.length()).c_str());
		 string res = to_string(x1*x2 - y1*y2) + "+"+to_string(x1*y2 + x2*y1) + "i";
		 return res;
	 }
 };

int转string:

1.int a=123;
  string s=to_string(a);

>>s="123"

2.int a=123;
   char cs[]="";
   itoa(a,cs,10)//最后一个参数代表进制数

>>cs="123" //注意这里只能把数字转换成const char而不是string

3.#include <stdio.h>
   #include <string.h>
   int a=123;
   char cs[]="";
   sprintf(cs,"%d",a);//VS2013会提示使用sprintf_s

>>cs="123"

4.#include <string>
   #include <sstream>
   stringstream ss;
   string s;
   int a=123;
   ss<<a;
   ss>>s;

>>s="123"

string转int:

1.string s="123"
  int a=atoi(s.c_str());//atoi只能把const char转为int,所以需要先用c_str()方法把string类型改为char类型

2.#include <stdio.h>
   #include <string.h>
   char cs[]="123";
   int a;
   sscanf(cs,"%d",&a);//VS2013会提示使用sscanf_s

>>a=123

3.#include <string>
   #include <sstream>
   stringstream ss;
   string s="123";
   int a;
   ss<<s;
   ss>>a;

>>a=123

还有stol方法以及boost库中的lexical_cast方法,可以查看这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值