首页 > 编程知识 正文

c语言转char类型为浮点,浮点数转char

时间:2023-12-29 20:31:46 阅读:330664 作者:ZBFJ

本文目录一览:

在C语言中可以把char 型赋值给float型吗

一但赋值就会进行自动类型转换,比如char a;float b;b=a;那么a就会自动转换成float型,再赋值给b.

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

C语言中将字符串转型化为浮点型数据的函数有:atof()  和 strtod()

头文件:

#include stdlib.h

函数原型:

double atof (const char* str); 

【参数说明】str 为要转换的字符串。

【函数说明】atof() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。

【返回值】返回转换后的浮点数;如果字符串 str 不能被转换为 double,那么返回 0.0。

double strtod (const char* str, char** endptr);

【参数说明】str 为要转换的字符串,endstr 为第一个不能转换的字符的指针。

【函数说明】strtod() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换,并将结果返回。参数 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语言里怎么把float转换为char型?

可以使用强制转换,其一般形式为:(类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如: (float) a 把a转换为浮点型,(int)(x+y) 把x+y的结果转换为整型。

这种方法显然对浮点型数据的精度会有影响,且注意最终输出的形式不同结果也是不同的,若要保留数字形式输出则为%d形式。

在程序中的使用举例:

注意不同输出格式对应的输出是不同的。

扩展资料:

在使用强制转换时应注意以下问题:

1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。

2.无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。

参考资料来源:百度百科-C语言类型强制转换

c语言中怎么把 [字符(%c) 转成 [浮点型(%f)]]

一、c语言中数值型数据分为两大类:整型和浮点型

整型:char

int

short

long

浮点型:float(单精度)

double(双精度)

二、浮点型数据转存到字符串中

char

str[30];

//定义一个字符数组,来存储数据

double

d=123.456;

//定义一个浮点型变量d

sprintf(str,"%f",

d

);

//格式串同printf()格式要求

sprintf(str,"%.2f",

d

);

//保留两位小数,第三位四舍五入

三、整型数据转存到字符串中

char

str[30];

int

i=123;

sprintf(str,

"%d",

i

);

四、0-9之间的数据转为字符

c语言中,字符型数据在存储时,实际上存储的是字符的ascii值,字符'0'到'9'对应的ascii是连续的,其值为48-57,所以,0-9数值转为字符时,只需要加上'0'就可以了,如:

char

ch;

int

i;

i=1;

ch=i+'0'

;

printf("ch=%c

ascii=%d",

ch,

ch

);

//按%c输出,就是字符1,按%d输出就是ascii值49

C语言中如何将char[]转换为float?

atof()函数,可以把字符串(字符数组)转成float,相应的有atoi可以转成int,itoa()从int到字符串等

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。