如何将字符型转化为十进制数字形?

freetalk_mean 2011-12-18 07:02:45
如题
...全文
282 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndyZhang 2011-12-20
  • 打赏
  • 举报
回复
可以直接调用函数atoi();
或者自己解析也行;
r如:字符'0' ascall码是48, '1'是49 。。。。。。。。。。。。。
如果解析字符那么直接减去'0'或者减去48就会得到数字0 1 2 3 4 5 6 7 8 9.。。。
这样就好算了。
淡然一笑 2011-12-20
  • 打赏
  • 举报
回复
把每个字符的ASCII码读出来放在数组中,读完以后连接起来。或者读的时候是直接跳过字符,只取数字。
alhope 2011-12-20
  • 打赏
  • 举报
回复
楼主是想找类似正则表达式吧
freetalk_mean 2011-12-20
  • 打赏
  • 举报
回复
。。。
可能是我没讲清楚
我的意思是现在我输入一串字符
比如fsueglukjaen23kjarfsknam34
我要取这里的‘23’和‘34’出来做数学运算
那么首先我必须将其字符型转化为整形
那么,我该怎么转?
如果说用ASCII码,那具体怎么用?能举个例子ma?
CN7712 2011-12-19
  • 打赏
  • 举报
回复
三楼正解...运行库提供了各种整型转换成字符串的函数...只是你没有使用过而已!
txzsp 2011-12-19
  • 打赏
  • 举报
回复
转数字可以减x30H。
AnYidan 2011-12-19
  • 打赏
  • 举报
回复
看看 ascii 码表
huanzhile 2011-12-18
  • 打赏
  • 举报
回复
2楼正解, 但是也可以根据字符的ASCII编码来转换;
proorck6 2011-12-18
  • 打赏
  • 举报
回复
2楼正解。
wangwei890702 2011-12-18
  • 打赏
  • 举报
回复
我不知道楼主是不是大学的新人哈,如果是的话感觉还是用某一字符的ascll码减数字0 的ascll码好些。
虽然上面很多是很好的方法哈,那些对于工作确实很好。
freetalk_mean 2011-12-18
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
char c;
int a;
while((c=getchar())!='\n')
{
if(c>='1'&&c<='9')
输入一串包含数字和英文的字符串
我要取出这些数字作数学运算,有不是sscanf和atoi的答案吗!
whc748227431whc 2011-12-18
  • 打赏
  • 举报
回复
楼主能具体举些例子吗
柯本 2011-12-18
  • 打赏
  • 举报
回复
sscanf或atoi都可以的

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int n;
char *str = "12345";

n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
qq120848369 2011-12-18
  • 打赏
  • 举报
回复
sscanf.

69,378

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧