c语言如何把float型转化为char型
发布网友
发布时间:2022-05-09 15:54
我来回答
共5个回答
热心网友
时间:2023-10-08 20:00
如果
x
是
float
型,c
是
char
型,这样就可以把
类型转换
:
c
=
(char)
x;
所谓转换是这样的。例如:
float
x
=
65.1;
char
c;
c
=
(char)
x;
这样
c
里存的就是
65,即字符
'A'。
补充回答:
还有另外一种“转换”,就是
Arvin
2010-11-06
14:08
所说的,不过不是
float
型转换成
char
型,而是把
float
型的
数字转换
成为“字符型数组”的表达方式。这种转换最简单的方法就是借用
里的
sprintf
函数,把实数打印到数组里。
例如:
float
x
=
65.1;
char
a[20];
sprintf(a,
"%g",
x);
这样子,数组
a
里就会保存字符串
"65.1",即
a[0]
=
'6';
a[1]
=
'5';
a[2]
=
'.';
a[3]
=
'1';
a[4]
=
'\0';
不知道楼主要的,是哪一种转换。请选择满意的答案采纳。如有疑问,欢迎追问。
热心网友
时间:2023-10-08 20:01
用强制类型转换。如:float a=65.02;
(chat) a;之后a=65即A。
热心网友
时间:2023-10-08 20:01
float a;char b;
b=(char)a;
热心网友
时间:2023-10-08 20:02
可以使用强制转换,其一般形式为:(类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如: (float) a 把a转换为浮点型,(int)(x+y) 把x+y的结果转换为整型。
这种方法显然对浮点型数据的精度会有影响,且注意最终输出的形式不同结果也是不同的,若要保留数字形式输出则为%d形式。
在程序中的使用举例:
注意不同输出格式对应的输出是不同的。
扩展资料:
在使用强制转换时应注意以下问题:
1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。
2.无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
参考资料来源:百度百科-C语言类型强制转换
热心网友
时间:2023-10-08 20:03
函数名: gcvt
功 能: 把浮点数转换成字符串
用 法: char *gcvt(double value, int ndigit, char *buf);
头文件:#include <stdlib.h>
参数:
value——被转换的值。
Digits——存储的有效数字位数。
Buffe——结果的存储位置。
说明:
gcvt函数把一个浮点值转换成一个字符串(包括一个小数点和可能的
符号字节)并存储该字符串在buffer中。该buffer应足够大以便容纳转换
的值加上结尾的空格字符,它是自动添加的。如果一个缓冲区的尺寸为
digits的尺寸+1,该函数覆盖该缓冲区的末尾。这是因为转换的字符串包
括一个小数点以及可能包含符号和指数信息。不提供上溢出。gcvt试图
以十进制格式产生digits数字,如果不可能,它以指数格式产生digits数字,
在转换时可能截除尾部的0。