700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 将字符数组中的字符转换为整型变量的数字 将字符串转换为数字

将字符数组中的字符转换为整型变量的数字 将字符串转换为数字

时间:2021-05-24 23:51:57

相关推荐

将字符数组中的字符转换为整型变量的数字  将字符串转换为数字

首先要保证字符数组或字符串中的数据是数字,这样才能转换。

检测字符数组或字符串中是否为数字的方法:

遍历字符数组或字符串,检测是否有非数字字符,若有则无法转换,若没有则可以进行转换。

将字符数组或字符串转换为数字的方法:

定义一个int型变量,初始化为0;

然后遍历字符数组或字符串,每遍历一个字符,将其与乘10后的int变量相加(x = x *10 + (str[i] - 48));//由于字符存储形式是按ASCLL码存储的,所以要减48(代表字符"0",数字0的ASCLL码为48)

最终得到转换好的int型变量。

C语言 字符数组和字符串

#include <iostream>#include <cstring>using namespace std;int str_to_int(char * str);///将字符数组中的字符转换为整型变量的数字int main(){char str[10] = "1234";cout << str << endl;int y = str_to_int(str);cout << y << endl;return 0;}int str_to_int(char * str){///将字符数组中的字符转换为整型变量的数字int y = 0;cout << "str的长度为:" << strlen(str) << endl;cout << "将strlen的返回值强制转换为int后的长度为" << (int)strlen(str) << endl;cout << str[0] << endl;for(int i = 0; i < (int)strlen(str); i++)///把强制转换去掉会发现提示warning///strlen返回值是无符号数,无法直接和int(有符号数)比较,无符号数可以转换为有符号数{y = y * 10 + (str[i] - 48);///此处要减48(ASCLL码中48为数字0)} ///字符串存储的是ASCLL码return y;}

字符数组获取字符串长度用 strlen()函数

C++ string对象

#include <iostream>#include <cstring>#include <string>using namespace std;int string_to_int(string str);///将string变量转换为整型变量的数字int main(){string str = "1234";cout << str << endl;int y;y = string_to_int(str);cout << y << endl;return 0;}int string_to_int(string str){///将字符数组中的字符转换为整型变量的数字int y = 0;cout << "str的长度为:" << str.length() << endl;cout << "将length()的返回值强制转换为int后的长度为:" << (int)str.length() << endl;cout << str[0] << endl;///直接输出是字符形式,但是它存储的是ASCLL码for(int i = 0; i < (int)str.length(); i++)///把强制转换去掉会发现提示warning///length()返回值是无符号数,无法直接和int(有符号数)比较,无符号数可以转换为有符号数{y = y * 10 + (str[i] - 48);///此处要减48(ASCLL码中48为数字0)} ///字符串存储的是ASCLL码return y;}

string对象获取字符串长度用 length()函数

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。