说明
依赖 strIsNum() 函数,详见 链接
函数
/*
将字符串转成数字
str:字符串
num:转成的数字
返回值:0表示不可以转换,1表示可以转换
*/
int strToInt(char* str,int & num)
{
int res=strIsNum(str);
if(res==0)
{
return 0;
}
else
{
int i=atoi(str);
num=i;
return 1;
}
}
例子
// 学习atoi.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
//判断字符串是否全是数字,如果是数字返回1,不是返回0
int strIsNum(char *str)
{
int len=strlen(str);
for(int i=0;i<len;i++)
{
int res=isdigit(str[i]);
if(res==0)
{
return 0;
}
}
return 1;
}
/*
将字符串转成数字
str:字符串
num:转成的数字
返回值:0表示不可以转换,1表示可以转换
*/
int strToInt(char* str,int & num)
{
int res=strIsNum(str);
if(res==0)
{
return 0;
}
else
{
int i=atoi(str);
num=i;
return 1;
}
}
int main(int argc, char* argv[])
{
char s[128]="a234";
/*
char s[128]="0";
int i=atoi(s);
printf("%d\n",i);
char s2[128]="a";
int i2=atoi(s2);
printf("%d\n",i2);
*/
int num=0;
int res=strToInt(s,num);
if(res==1)
{
printf("%d\n",num);
}
else
{
printf("不能转成数字!\n");
}
return 0;
}