1、字符串转换为int型
#include <stdio.h> int toint(char *s1) { int i, j = 0; while(*s1) { for(i = 0; i <= 9; i++) { if((*s1 - '0') == i) j = j * 10 + i; } s1++; } return j; } int main(void) { char str1[128]; printf("str1: "); scanf("%s", str1); printf("result converted to int type: %d ", toint(str1)); return 0; }
2、转换为long型
#include <stdio.h> long tolong(char *s1) { int i; long j = 0; while(*s1) { for(i = 0; i <= 9; i++) { if((*s1 - '0') == i) j = j * 10 + (long)i; } s1++; } return j; } int main(void) { char str1[128]; printf("str1: "); scanf("%s", str1); printf("result converted to long type: %ld ", tolong(str1)); return 0; }
3、转换为double型
#include <stdio.h> double todouble(char *s1) { int i; double j = 0.0; while(*s1) { for(i = 0; i <= 9; i++) { if((*s1 - '0') == i) j = j * 10 + (double)i; } s1++; } return j; } int main(void) { char str1[128]; printf("str1: "); scanf("%s", str1); printf("result converted to double type: %f ", todouble(str1)); return 0; }