char到int的转化

C、C++和Java语言
回复
weihua2008
帖子: 448
注册时间: 2008-07-10 15:08
送出感谢: 0
接收感谢: 0
联系:

char到int的转化

#1

帖子 weihua2008 » 2008-10-15 11:44

我用buffer·[10][从文本框得到信息6000
但是我想用int型的6000
该如何转换哪?
头像
HuntXu
论坛版主
帖子: 5776
注册时间: 2007-09-29 3:09
送出感谢: 0
接收感谢: 6 次

Re: char到int的转化

#2

帖子 HuntXu » 2008-10-15 12:08

for(i=0;i<=3;i++) a+=(buffer-0x30)*10^(3-i);
HUNT Unfortunately No Talent...
xyywll
帖子: 338
注册时间: 2008-05-24 1:24
送出感谢: 0
接收感谢: 0

Re: char到int的转化

#3

帖子 xyywll » 2008-10-15 12:48

HuntXu 朋友的思路可以,但有几个问题:
1. 求幂应该用 pow() 函数或者其他方法, ^ 在数学里的意义和在 c 里的意义不同;
2. 由于存在 EBCDIC 等其他编码,所以用 -0x30 的方法可移植性不太好
3. 注意格式

一个常用的解决方法是使用 atoi() 函数来解决这个问题:

代码: 全选

#include <stdio.h>
#include <stdlib.h>
...
int main(void)
{
    char buffer[10];
    int num;
    ...
    num = atoi(buffer);
    ....
    return 0;
}
weihua2008
帖子: 448
注册时间: 2008-07-10 15:08
送出感谢: 0
接收感谢: 0
联系:

Re: char到int的转化

#4

帖子 weihua2008 » 2008-10-15 15:18

xyywll, HuntXu,
在此哦我十分感谢二位,谢谢!
回复

回到 “C/C++/Java”