知其然知其所以然 itoa实现 整型转字符串

来源:互联网 发布:淘宝怎么做起来 编辑:程序博客网 时间:2024/05/22 00:48

我们经常会遇到有求字符串转换为整型的问题,我们来分析一下其中实现过程,可以先分析一下思路;

1、首先我们要求出来整型字符串的长度,这步可以遍历和除以10这样计算遍历次数就可以求的整型字符串长度

2、我们对要操作的整数和10取余能算出各位数值,通过这个值 + ‘0’ 这样我们就可以计算出char型0的ascii码值,在通过将各个数赋值到char数组上上,最后这个char数组就是我们要求得的char字符串。

不说太多,上代码:

#include <iostream>#include <string>using namespace std;int myItoa(int num,char *str);int myIntlen(int n);int main(){int num = 1689;char *str = new char[10];myItoa(num,str);cout<<"str:"<<str<<endl;}int myItoa(int num,char *str){int lennum = myIntlen(num);int len = lennum;while(num != 0&&len >= 0){int n = num%10;str[--len] = n + '0';num = num/10;}str[lennum] = 0;return len;}//计算整型数的长度int myIntlen(int n){if(n < 0){return 0;}int len = 0;while(n != 0){n=n/10;len ++;}return len;}