字符串转化为数字
面试例题3:使用库函数将字符串转换为数字。
考点:C库函数中字符串转换为数字的使用。
出现频率:★★★★
解析
与上节数字转换为字符串类似,C/C++语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)。以下列举了各函数的方法及其说明。
atof():将字符串转换为双精度浮点型值。
atoi():将字符串转换为整型值。
atol():将字符串转换为长整型值。
strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
strtol():将字符串转换为长整值,并报告不能被转换的所有剩余数字。
strtoul():将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。
以下程序演示如何使用atoi ()函数和atof ()函数。
1 # include
2 # include
3
4 int main ()
5 {
6 int num_int;
7 double num_double;
8 char str_int[30] = "435"; //将要被转换为整型的字符串
9 char str_double[30] = "436.55"; //将要被转换为浮点型的字符串
10
11 num_int = atoi(str_int); //转换为整型值
12 num_double = atof(str_double); //转换为浮点型值
13
14 printf("num_int: %d/n", num_int);
15 printf("num_double: %lf/n", num_double);
16
17 return 0;
18 }
输出结果:
num_int: 435
num_double: 436.550000
面试例题4:不使用库函数将字符串转换为数字。
考点:字符串转换为数字时,对相关ASCII码的理解。
出现频率:★★★★
解析
程序代码如下:
1 #include
2 using namespace std;
3