免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3478 | 回复: 6
打印 上一主题 下一主题

如何将char i[]='123' 转换为 int 的123呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-29 09:01 |只看该作者 |倒序浏览
如题?
这要怎么做?做
sprintf?

论坛徽章:
0
2 [报告]
发表于 2004-10-29 09:14 |只看该作者

如何将char i[]='123' 转换为 int 的123呢?

sprintf是转成字符串

字符串要转成int、double、long,可以用atoi、atof、atol函数

论坛徽章:
0
3 [报告]
发表于 2004-10-29 09:18 |只看该作者

如何将char i[]='123' 转换为 int 的123呢?

atoi()

这是最基本的操作了!

论坛徽章:
0
4 [报告]
发表于 2004-10-29 09:31 |只看该作者

如何将char i[]='123' 转换为 int 的123呢?

不好意思,没说清楚,我的意思是..
这个是怎么转换的?我知道有这些函数,我想自己写一个
它的算法是什么?
(int)后都要减去48?才是最后的值?

不太明白,是怎么转换过来的..
请高手指教。

论坛徽章:
0
5 [报告]
发表于 2004-10-29 10:46 |只看该作者

如何将char i[]='123' 转换为 int 的123呢?

#include<stdio.h>;
main()
{
char i[3]="123";
int j[3];
int result ,k;
for(k=0;k<3;k++)
{
  j[k]=i[k]-0x30;
}
result=j[0]*100+j[1]*10+j[2];
printf("%d\n",result);
}

论坛徽章:
0
6 [报告]
发表于 2004-10-29 10:57 |只看该作者

如何将char i[]='123' 转换为 int 的123呢?

可以用简单的字符码值计算,用加减法即可
简单代码:

  char  str[] = "123";
  int  i;
  int  istr;
  
for (i = 0; i < strlen(str); i ++)
{
    istr = istr * 10 + (str - 4;
}

论坛徽章:
0
7 [报告]
发表于 2004-10-29 10:58 |只看该作者

如何将char i[]='123' 转换为 int 的123呢?

可以用简单的字符码值计算,用加减法即可
简单代码:

  char  str[] = "123";
  int  i;
  int  istr;
  
for (i = 0; i < strlen(str); i ++)
{
    istr = istr * 10 + (str - 4;
}
  
istr 即结果值
这里只是简单的一个算法,具体到有正负值,浮点型的时候,在此基础上
稍微再加工一下就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP