【字符串与整型的转换】

 

#include<iostream>
#include<string.h>
#include<string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

int stoi(char *s){
	int len = strlen(s);
	int t =0;
	int k = 0;
	int sum = 0;
	for(int i = 0;i<len;i++){
		k = i;
		t = s[i]-'0';     //从第0位开始取 第一次 t = 1 (第二次 t = 2) 
		while(k<len-1){
			t*=10;        // 第一次 t = 1000 (第二次 t = 200) 
			k++;
		}
		sum+=t;           //sum+=t = 1000; (第二次 sum = 1200) 
	}
	return sum;
}

char* itos(int a){
	char s[20]="";
	int len =0;
	int s_len = 0;
	int t = 0;
	int k = 1;
	int temp = a;
	while(temp>0){
		temp=temp/10;
		len++;     //计算a的长度 
	}
	while(a>0){
		while(t<len-1){        //以1234为例:  
			k*=10;             //第一次算的 k = 1000; (第二次算的 k = 100) 
			t++;
		}
		s[s_len++]='0'+(a/k);  //a/k = 1234/1000 = 1  取得第一位为1,赋给s的第0个位置 
		a-=k*(a/k);            //a-=k*(a/k) = 1234 - (1000*1) = 234    
		t=0;k=1;               //重置 t,k 
		len--;                 //完成一位计算,则长度-1 
	}
	cout<<s<<endl;
	return s;
}

int main(){
	//字符串转换为整数 
	char s[] = "1234";
	cout<<stoi(s)<<endl;
	
	//整数转换为字符串 
	int a = 1234;
	cout<<itos(a)<<endl;
	return 0;
}

运行结果:

1234  //整型
1234  //字符串

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值