C语言字符串和数字转换函数

上传人:ji****72 文档编号:45840822 上传时间:2018-06-19 格式:PDF 页数:10 大小:42.17KB
返回 下载 相关 举报
C语言字符串和数字转换函数_第1页
第1页 / 共10页
C语言字符串和数字转换函数_第2页
第2页 / 共10页
C语言字符串和数字转换函数_第3页
第3页 / 共10页
C语言字符串和数字转换函数_第4页
第4页 / 共10页
C语言字符串和数字转换函数_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C语言字符串和数字转换函数》由会员分享,可在线阅读,更多相关《C语言字符串和数字转换函数(10页珍藏版)》请在金锄头文库上搜索。

1、atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整数数) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toascii(将整型数转换成合法的 ASCII 码字符) toupper(将小写字母转换成大写字母) tolower(将大写字母转换成小写字母) 1、atof(将字符串转换成浮点型数将字符串转换成浮点型数) 表头文件: #include 定义函数: double atof(const char *nptr); 函数说明: atof()会扫描参数 nptr 字符串,

2、跳过前面的空格字符,直到遇上数字或正 负符号才开始做转换,而再遇到非数字或字符串结束时 (0)才结束转换,并将结果返回。参数 nptr 字符串可包含正负号、小数 点或 E(e)来表示指数部分,如 123.456 或 123e-2。 返回值: 返回转换后的浮点型数。 附加说明: atof()与使用 strtod(nptr,(char*)NULL)结果相同。 范例: view plaincopy to clipboardprint? 1. /* 将字符串 a 与字符串 b 转换成数字后相加*/ 2. #include 3. void main() 4. 5. char *a = “-100.23“

3、; 6. char *b = “200e-2“; 7. float c; 8. c = atof(a) + atof(b); 9. printf(“c = %.2fn“, c); 10. / * 将字符串a 与字符串b 转换成数字后相加* /# i n c l u d e v o i d m a i n ( )c h a r * a = “ - 1 0 0 . 2 3 “ ;c h a r * b = “ 2 0 0 e - 2 “ ;f l o a t c ;c = a t o f ( a ) + a t o f ( b ) ;p r i n t f ( “ c = % . 2 f n “

4、, c ) ; 运行结果 c = -98.23 2、atoi(将字符串转换成整型数将字符串转换成整型数) 表头文件: #include 定义函数:intatoi(const char *nptr); 函数说明: atoi()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符 号才开始做转换,而再遇到非数字或字符串结束时 (0)才结束转换,并将结果返回。 返回值: 返回转换后的整型数。 附加说明: atoi()与使用 strtol(nptr,(char*)NULL,10);结果相同。 范例: view plaincopy to clipboardprint? 1. /* 将字

5、符串 a 与字符串 b 转换成数字后相加*/ 2. #include 3. void mian() 4. 5. char a = “-100“; 6. char b = “456“; 7. int c; 8. c = atoi(a) + atoi(b); 9. printf(“c = %dn“,c); 10. / * 将字符串a 与字符串b 转换成数字后相加* /# i n c l u d e v o i d m i a n ( )c h a r a = “ - 1 0 0 “ ;c h a r b = “ 4 5 6 “ ;i n t c ;c = a t o i ( a ) + a t o

6、 i ( b ) ;p r i n t f ( “ c = % d n “ , c ) ;运行结果 c = 356 3、atol(将字符串转换成长整型数将字符串转换成长整型数) 表头文件: #include 定义函数: long atol(const char *nptr); 函数说明: atol()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符 号才开始做转换,而再遇到非数字或字符串结束时 (0)才结束转换,并将结果返回。 返回值: 返回转换后的长整型数。 附加说明:atol()与使用 strtol(nptr,(char*)NULL,10);结果相同。 范例: vie

7、w plaincopy to clipboardprint? 1. /*将字符串 a 与字符串 b 转换成数字后相加*/ 2. #include 3. void main() 4. 5. char a =“1000000000“; 6. char b = “234567890“; 7. long c; 8. c = atol(a) + atol(b); 9. printf(“c = %dn“, c); 10. / * 将字符串a 与字符串b 转换成数字后相加* /# i n c l u d e v o i d m a i n ( )c h a r a = “ 1 0 0 0 0 0 0 0 0

8、 0 “ ;c h a r b = “ 2 3 4 5 6 7 8 9 0 “ ;l o n g c ;c = a t o l ( a ) + a t o l ( b ) ;p r i n t f ( “ c = % d n “ , c ) ;运行结果 c = 1234567890 4、gcvt(将浮点型数转换为字符串将浮点型数转换为字符串,取四舍五入取四舍五入) 表头文件: #include 定义函数: char *gcvt(double number,size_tndigits,char *buf); 函数说明:gcvt()用来将参数 number 转换成 ASCII 码字符串,参数 nd

9、igits 表示显 示的位数。gcvt()与 ecvt()和 fcvt()不同的地方在 于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后 的字符串会放在参数 buf 指针所指的空间。 返回值: 返回一字符串指针,此地址即为 buf 指针。 范例: view plaincopy to clipboardprint? 1. #include 2. void main() 3. 4. double a = 123.45; 5. double b = -1234.56; 6. char *ptr; 7. int decpt,sign; 8. gcvt(a, 5, ptr); 9

10、. printf(“a value = %sn“, ptr); 10. ptr = gcvt(b,6,ptr); 11. printf(“b value = %sn“, ptr); 12. # i n c l u d e v o i d m a i n ( )d o u b l e a = 1 2 3 . 4 5 ;d o u b l e b = - 1 2 3 4 . 5 6 ;c h a r * p t r ;i n t d e c p t , s i g n ;g c v t ( a , 5 , p t r ) ;p r i n t f ( “ a v a l u e = % s n “

11、 , p t r ) ;p t r = g c v t ( b , 6 , p t r ) ;p r i n t f ( “ b v a l u e = % s n “ , p t r ) ;运行结果 a value = 123.45 b value = -1234.56 5、strtod(将字符串转换成浮点数将字符串转换成浮点数) 表头文件: #include 定义函数: double strtod(const char *nptr,char *endptr); 函数说明:strtod()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正 负符号才开始做转换,到出现非数字或字

12、符串结束时 (0)才结束转换,并将结果返回。 若 endptr 不为 NULL,则会将遇到不合 条件而终止的 nptr 中的字符指针由 endptr 传回参数 nptr 字符串可包含正负号、 小数点或 E(e)来表示指数部分。 如 123.456 或 123e-2。 返回值: 返回转换后的浮点型数。 附加说明: 参考 atof()。 范例: view plaincopy to clipboardprint? 1. /*将字符串 a,b,c 分别采用 10,2,16 进制转换成数字*/ 2. #include 3. void mian() 4. 5. char a = “1000000000“;

13、 6. char b = “1000000000“; 7. char c = “ffff“; 8. printf(“a=%dn“, strtod(a,NULL, 10); 9. printf(“b=%dn“, strtod(b,NULL, 2); 10. printf(“c=%dn“, strtod(c,NULL, 16); 11. / * 将字符串a , b , c 分别采用1 0 , 2 , 1 6 进制转换成数字# i n c l u d e v o i d m i a n ( )c h a r a = “ 1 0 0 0 0 0 0 0 0 0 “ ;c h a r b = “ 1 0

14、 0 0 0 0 0 0 0 0 “ ;c h a r c = “ f f f f “ ;p r i n t f ( “ a = % d n “ , s t r t o d ( a , N U L L , 1 0 ) ) ;p r i n t f ( “ b = % d n “ , s t r t o d ( b , N U L L , 2 ) ) ;p r i n t f ( “ c = % d n “ , s t r t o d ( c , N U L L , 1 6 ) ) ;运行结果 a = 1000000000 b = 512 c = 65535 6、strtol(将字符串转换成长整型数将字符串转换成长整型数) 表头文件: #include 定义函数: long intstrtol(const char *nptr,char *endptr,int base); 函数说明: strtol()会将参数 nptr 字符串根据参数 base 来转换成长整型数。 参数 base 范围从 2 至 36,或 0。参数 base 代表采用的进制方 式,如base值为10则采用10进制,若base值为16则采用16进制等。当

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号