200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 整数转化成字符串; 字符串转换为整数

整数转化成字符串; 字符串转换为整数

时间:2023-05-18 16:28:15

相关推荐

整数转化成字符串; 字符串转换为整数

整数转化成字符串; 字符串转换为整数

/*整数转化成字符串*/char *IntToStr(int num, char str[]){int i = 0, j = 0;char temp[100];while(num){temp[i] = num % 10 + '0'; //取模运算得到从后往前的每一个数字变成字符num = num / 10;i++;}temp[i] = 0; //字符串结束标志i = i - 1;//回到temp最后一个有意义的数字while(i >= 0){str[j] = temp[i];i--;j++;}str[j] = 0; //字符串结束标志return str;}/*字符串转换为整数,仅考虑十进制,不考虑非法字符*/int StrToInt(char *str){int value = 0;int sign = 1;assert(str != NULL);if(*str == '-'){sign = -1;str++;}else if(*str == '+'){str++;}while(*str){value = value * 10 +(*str - '0');str++;}return sign * value;}/*字符串转换整数,考虑16进制,10进制,8进制,不考虑其他非法字符*/int StrToIntAll(char *str){int value = 0;int sign = 1;int radix;assert(str != NULL);if(*str == '-'){sign = -1;str++;}else if(*str == '+'){str++;}//考虑不同的进制if(*str == '0' && (*(str+1) == 'X' || *(str+1) == 'x')){radix = 16;str += 2;}else if(*str == '0'){radix = 8;str++;}else{radix = 10;}while(*str){if(radix == 16){if(*str >= '0' && *str <= '9'){value = value * radix + (*str - '0');}else{value = value * radix +(*str - 'a' + 10);}}else{value = value * radix + (*str - '0');}str++;}return sign * value;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。