c语言里怎么把float转换为char型?

如题

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

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

在程序中的使用举例:

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

扩展资料:

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

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
如果 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 </SPAN>所说的,不过不是 float 型转换成 char 型,而是把 float 型的数字转换成为“字符型数组”的表达方式。这种转换最简单的方法就是借用 <stdio.h> 里的 sprintf 函数,把实数打印到数组里。</p>例如: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'; 不知道楼主要的,是哪一种转换。请选择满意的答案采纳。如有疑问,欢迎追问。本回答被网友采纳
第2个回答  2014-01-01
强制转化例如:fioat x (char)x就实现了转化
相似回答