C语言中如何把浮点型转换为字符型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何把浮点型转换为字符型相关的知识,希望对你有一定的参考价值。

浮点型转换为字符型一般需要计算的,比如现在浮点型是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';
//将各个位上的数字转化成字符型,存入缓冲区
参考技术A 一、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语言的浮点型怎么转换为整型?

C语言中,浮点型转换为整型可以用:强制类型转换、自动类型转换,例如:(int)3.14、int a = 3.14。

1、强制类型转换

强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式),其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。

例如: (double) a 把a转换为双精度浮点型,(int)(x+y) 把x+y的结果转换为整型。

2、自动类型转换

(1)执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等。

(2)赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它。

(3)函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参。

(4)函数有返回值时,系统首先会自动隐式地将返回表达式的值的类型转换为函数的返回类型,然后再赋值给调用函数返回。

扩展资料:

C语言中常用的数据类型:

1、int:整型

2、float:单精度浮点型

3、double:双精度浮点型

4、char:字符型

5、char *:字符指针型

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

参考技术A C语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int i = 2.5; 或 i = (int) 2.5;
这种方法采用的是舍去小数部分,能用于你的问题。
2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,能用于你的问题。不过整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。floor函数能用于你的问题。
5、
int b = (int)a;//取整
int c = (int)(a+0.5);//四舍五入
参考技术B float ftemp;
不要后面的=0;因为一旦你分配给ftemp了值,它是无法通过键盘写入的方式赋给的,因为空间已经被占用。这不是a=b+c这样表达式的赋值。

晕,难道要我把源代码给你你直接复制?
那就给你吧!
#include
void main()

float ftemp;
scanf("%f",&ftemp);
ftemp=ftemp*10;
printf("%f",ftemp);
getch();


随便输入一个数,然后回车,看结果
参考技术C c语言中没有四舍五入,将浮点型转换成整形时,只保留小数点前面的数值 参考技术D

可通过强制类型转换或赋值过程中自动转换。

    强制类型转换。C语言提供强制类型转换符,其可表示为(类型),该操作符具有从右向左的结合型,用法示例为“(类型)变量”,则对应变量被转换为括号中 的类型,因此想把浮点型转换为整型时,括号中使用int即可:

    如果直接把浮点型变量赋值给整型,其会自动转换为整型:

    但是注意当float型变量转换为整型时,小数部分被舍弃,但不会遵循四舍五入的原则,如果浮点类型的值过大,超过整型所能容纳的范围,则结果是不确定的。

以上是关于C语言中如何把浮点型转换为字符型的主要内容,如果未能解决你的问题,请参考以下文章

C语言字符串类型转换为整型或浮点怎么做

单片机C语言中如何将浮点型变量转换成字符串输出

qt中如何将浮点型转换成字符型

c语言中将一个浮点型赋值给整型时,会不会四舍五入?

C语言类型转换

C语言的浮点型怎么转换为整型?