字符串与整数之间的转换


void main(){
    char str[18] ="t88355";
    int num = atoi(str+1);
    //把字符串转换成整数,参数传递的是从某一位开始往后的所有字符,出现非数字字符都会转换失败,就是0
    printf("%d\n",num); //  88355

}

 




//字符串与整数之间的转换 #include <stdio.h> #include <string.h> #include <stdlib.h> int getTen(int n){ int res = 1; for (int i = 1; i <= n; ++i) { res *= 10; } return res; } int toNum(char *str){ int res =0; int length = strlen(str); while(*str != '\0'){ if(*str <= '9' && *str >= '0'){ res += getTen(length -1 ) * (*str - 48); //字符转为相应的数字就减去48 也就是’0‘的ASCII码 } else{ return -1; } str++; length--; } return res; } char * toString(int *pInt){ //char str[20] ={'\0'}; int num = *pInt; //计算有多少位 int i=0; do{ i++; }while (num = num / 10); char *str = (char *) calloc(i+1, sizeof(char)); //多余的一个字符空间默认会置为 '0' num = *pInt; int bit =0; for (int j = i -1; j >=0 ; --j) { bit = num % 10; num = num / 10; str[j] = bit +48; } return str; } void main(){ char *str = "1255634"; int num = 1234; int *pInt =# printf("%d\n",toNum(str)); printf("%s\n",toString(&num)); }

 

posted @ 2019-08-10 22:36  Coding_Changes_LIfe  阅读(763)  评论(0编辑  收藏  举报