C语言中有没有把字符转型化为 浮点型的函数?

Python013

C语言中有没有把字符转型化为 浮点型的函数?,第1张

C语言中将字符转型化为浮点型数据的函数有:atof() 和strtod()头文件:#include <stdlib.h>函数原型:double atof (const char* str)【参数说明】str 为要转换的字符串。【函数说明】atof() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。【返回值】返回转换后的浮点数;如果字符串 str 不能被转换为 double,那么返回 0.0。double strtod (const char* str, char** endptr)【参数说明】str 为要转换的字符串,endstr 为第一个不能转换的字符的指针。【函数说明】strtod() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。参数 str 字符串可包含正负号、小数点或E(e)来表示指数部分。如123. 456 或123e-2。若endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。【返回值】返回转换后的浮点型数;若不能转换或字符串为空,则返回 0.0。使用 atof( str ) 与使用 strtod(str, NULL) 结果相同。一般应用方法为:char str[]="123.45"double d=atof(str)printf("%.2lf", d )//输出123.45

一、c语言中数值型数据分为两大类:整型和浮点型整型:charintshortlong浮点型:float(单精度)double(双精度)二、浮点型数据转存到字符串中charstr[30]//定义一个字符数组,来存储数据doubled=123.456//定义一个浮点型变量dsprintf(str,"%f",d)//格式串同printf()格式要求sprintf(str,"%.2f",d)//保留两位小数,第三位四舍五入三、整型数据转存到字符串中charstr[30]inti=123sprintf(str,"%d",i)四、0-9之间的数据转为字符c语言中,字符型数据在存储时,实际上存储的是字符的ascii值,字符'0'到'9'对应的ascii是连续的,其值为48-57,所以,0-9数值转为字符时,只需要加上'0'就可以了,如:charchintii=1ch=i+'0'printf("ch=%cascii=%d",ch,ch)//按%c输出,就是字符1,按%d输出就是ascii值49