整数转化成字符串; 字符串转换为整数
生活随笔
收集整理的這篇文章主要介紹了
整数转化成字符串; 字符串转换为整数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
整數轉化成字符串; 字符串轉換為整數
/*整數轉化成字符串*/
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;
}
總結
以上是生活随笔為你收集整理的整数转化成字符串; 字符串转换为整数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Valid Sudoku
- 下一篇: 合并a[0..mid]和a[mid+1,