请问怎么把一个字符串转化成数字
请问怎么把一个字符串转化成数字
例如将"123"转化成123
----------------解决方案--------------------------------------------------------
int a = atoi("123");
----------------解决方案--------------------------------------------------------
那怎么把数字变字符串啊
----------------解决方案--------------------------------------------------------
函数原形 void itoa(int value,char *string,int radix);
void main(){ int number=12345; char string[25]; itoa(number,string,10); printf("%s",string); getch(); } 其中10是基数,你照着输入就行了。
----------------解决方案--------------------------------------------------------
楼上的,怎么不自己写一个?
----------------解决方案--------------------------------------------------------
int stoi(char *p);
{int a,b=0,i;
f0r(i=0;i<strlen(p);i++)
{a=b*10+p[i]-'0';
b=a;
}
return a;
}
----------------解决方案--------------------------------------------------------
如果是负数,如果是实数。。。。
----------------解决方案--------------------------------------------------------
还如果是八进制、十六进制、二进制呢!!!!
如果这样算那不累死我啊!所以统一为[int],[float]的先让程序员弄成[int]再来。
负数一个abs()先弄成正的先。然后在字符串开始再先加上'-'就OK了
----------------解决方案--------------------------------------------------------
不要功能上做额外的强求,不然写完了又说再加个罗马数字阿啥的,不得疯了?
(好像事先只要要做罗马数字的话,也不会疯的。)
----------------解决方案--------------------------------------------------------