C++ 如何将字符串(由数字组成)转换为 int型数字,以用于计算

2024-12-01 04:22:30
推荐回答(4个)
回答1:

#include
#include #define MAX_LONG 0X7FFFFFFFint myatoi(char *s) { // 将数字串转换为整数值,不转换非数字字符
long sign = 1,num = 0;;
char *p = s;
if(*p == '-') {
sign = -1;
p++;
}
if(*p == '+') {
sign = 1;
p++;
}
while(*p) {
if(num >= MAX_LONG/10) {
cout<<"被转换的字串过长,整数越界。"< return 0;
}
if((*p >= '0') && (*p <= '9')) num = 10*num + (*p) - '0';
p++;
}
return sign*num;
}int main() {
char s[11];
int num;
cout<<"请输入一个字串 : "<// cin>>s; // cin把空格作为字符串结束标志,所以不能输入含有空格的字符串
gets(s);
num = myatoi(s);
cout<<"转换后的整数为 : "< return 0;
}

回答2:

用atoi函数
int atoi(char* pstr) //参数是要转的字符串,返回值就是转之后的int类型了
例:
char sz[] = "123";
int n = atoi(sz);
cout << n;

回答3:

int num=0;for(int i=0;i num+=(mystr.at(i)-'0')*pow(10,mystr.size()-i-1);

}

回答4:

用atoi() num = atoi(mystr);