c语言里 怎样将单精度浮点型数转换成字符型

快哦!!!... 快哦!!! 展开
 我来答
xoaxa
推荐于2017-09-25 · TA获得超过8607个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3404万
展开全部
#include <stdio.h>
#include <stdlib.h>

int main() {
float fa = 3.68f;
char fstr[20];
// 最简易的方法
sprintf(fstr,"%f",fa);
printf("%s\n",fstr);
// 用专用函数转换
gcvt(fa,8,fstr);
printf("%s\n",fstr);
return 0;
}
折心灬小轩
2013-07-20 · TA获得超过543个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:107万
展开全部
这个是br前辈的回答
链接在这里:http://zhidao.baidu.com/question/161721125.html

用gcvt函数!
函数名: gcvt
功 能: 把浮点数转换成字符串
用 法: char *gcvt(double value, int ndigit, char *buf);

例子:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
char str[25];
double dNum;
int n = 5;//需要转化的位数

//一般浮点数
dNum = 9.876;
gcvt(dNum, n, str);
printf( "string = %s\n", str);

//负数
dNum = -123.4567;
gcvt(dNum, n, str);
printf("string = %s\n", str);

//指数
dNum = 0.678e5;
gcvt(dNum, n, str);
printf("string = %s\n", str);

return 0;
}

满意请采纳,不满意请追问
更多追问追答
追问
不是转换成字符串  而是char
追答
你可以用一个字符变量去提取啊
想要那个字符就去遍历字符串得到那个字符就可以了

不过你想把整个浮点数转换成一个字符是不可能的
一个32位机的浮点数用4字节表示浮点数,
但只用1字节表示字符,所以不可以
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赵韦华和
2013-07-20 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:117万
展开全部
#include<stdio.h>
int main()
{
float x=1.333333;
int y=x;
printf("%d\n",y);
system("pause");
return 0;
}
追问
x为scanf任意输入的值也可以吗?
追答
#include
int main()
{
float x;
scanf("%f",&x);
char y=x;
printf("%c\n",y);
system("pause");
return 0;
}
//自动取整了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式