C语言中如何把浮点型转换为字符型
比如:比如:main(){inta,b;charc;a=1;b=2;(写语句)printf("%d,%d,%c",a,b,c);}输出的要求是1,2,1把a写入c中...
比如:比如:
main()
{
int a,b;
char c;
a=1;b=2;
(写语句)
printf("%d,%d,%c",a,b,c);
}
输出的要求是1,2,1
把a写入c中 展开
main()
{
int a,b;
char c;
a=1;b=2;
(写语句)
printf("%d,%d,%c",a,b,c);
}
输出的要求是1,2,1
把a写入c中 展开
7个回答
展开全部
浮点型转换为字符型一般需要计算的,比如现在浮点型是414.15f
转换为字符型,那么就需要将这串数据转换为ASCII码,单个数字单个数字转换:
定义一个缓冲区:char Buffer[6]用于存放这几个数字;
接着:
将浮点型放大,转换为整型:(int)(414.15 * 100) = 41415d
逐个取值:
for(i=0;i<6;i++)
{
41415 % 10 = 5 ; //求除以10的余数,从各位开始取值
10*10 = 100 ; //将除数放大10倍,一个循环后就编程了100,两个循环后是1000,以此求取各位上的数字;
Buffer[i] =余数+'0'; //将各个位上的数字转化成字符型,存入缓冲区
}
转换为字符型,那么就需要将这串数据转换为ASCII码,单个数字单个数字转换:
定义一个缓冲区:char Buffer[6]用于存放这几个数字;
接着:
将浮点型放大,转换为整型:(int)(414.15 * 100) = 41415d
逐个取值:
for(i=0;i<6;i++)
{
41415 % 10 = 5 ; //求除以10的余数,从各位开始取值
10*10 = 100 ; //将除数放大10倍,一个循环后就编程了100,两个循环后是1000,以此求取各位上的数字;
Buffer[i] =余数+'0'; //将各个位上的数字转化成字符型,存入缓冲区
}
展开全部
一、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
整型: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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-11-16
展开全部
和前面那个人说的一样,代码如下:
#include<stdio.h>
int main(void)
{
int a = 1;
int b = 2;
char c;
c = a + '0';
printf("%d %d %c\n",a,b,c);
return 0;
}
#include<stdio.h>
int main(void)
{
int a = 1;
int b = 2;
char c;
c = a + '0';
printf("%d %d %c\n",a,b,c);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sprintf(c,"%d",a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询