怎么将字符串类型转换成int型?初学者简单方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么将字符串类型转换成int型?初学者简单方法相关的知识,希望对你有一定的参考价值。

C++中

如果你不想用atoi()函数,可以自己写一个函数来转换,原理如下:
比如你要转换的字符串为"4243":
1.先获得字符串长度为4
2.循环获得每个字符
对于每个字符都减去'0',即asiic码的差值,比如第一个字符为'4','4'-'0' = 4,结果为整数,拿4*10^4(这个4为字符串长度) = 4000
再加上后面每次获得的数即可
参考技术A C语言库函数名: atoi
功 能: 把字符串转换成整型数。
名字来源:ASCII to integer 的缩写。
原型: int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符存在,并且,如果不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
头文件: #include <stdlib.h>
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)

int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;

执行结果:
string = 12345.67 integer = 12345追问

我学的C++ 不是C语言

追答

一样可以使用啊 包含所需要的头文件即可调用。

本回答被提问者和网友采纳
参考技术B

atoi(const char *nptr);

C语言库函数名: atoi(把字符串转换成整型数。)

函数说明: 参数nptr字符串,如果第一个非空格字符存在,并且,如果不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \\0) 字符时停止转换,返回整型数。

//参考代码如下:
#include <stdlib.h>
#include <stdio.h>
int main()

    int n;
    char *str = "12345";
    n = atoi(str);
    printf("%d\\n",n);
    return 0;

/*
执行结果:
12345
*/

参考技术C C语言库函数名: atoi
功 能: 把字符串转换成整型数。
名字来源:ASCII to integer 的缩写。
原型: int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符存在,并且,如果不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
头文件: #include <stdlib.h>
参考技术D 是ASCII码转还是数组里本身就是数字呢
如果数组本身就是就是数字,我推荐用atoi函数
增加头文件
#include<stdlib.h>
只需要一个参数
就是数组的名字
例子
#include <stdlib.h>
#include <stdio.h>
int main(void)

int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;

执行结果:
string = 12345.67 integer = 12345

PS:C语言C++也可以使用。
也可以
#include<cstdlib>
using namespace std;

以上是关于怎么将字符串类型转换成int型?初学者简单方法的主要内容,如果未能解决你的问题,请参考以下文章

如何将char类型转换成int类型?

jsp里如何用强制类型转换把string类型转换成int型?

NSData类型转换成NSString类型

c语言里怎么把float转换为char型?

如何将有符号的long型转换成无符号的long型

c#中怎么将string转换成int型