怎么将c语言中一个浮点型数据的整数部分与小数部分提取出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么将c语言中一个浮点型数据的整数部分与小数部分提取出来相关的知识,希望对你有一定的参考价值。
如题,就是,就是如果13.215,提取出来13与215.注,小数部分长度不确定
代码如下:
#include <stdio.h>
int main()
double number; //其中number表示输入的数
int zhengshu; //表示实数的整数部分
double xiaoshu; //表示整数的小数部分
printf("请输入一个实数:"); //提示输入一个数
scanf("%lf",&number);
zhengshu = (int)number;
xiaoshu = number-zhengshu;
printf("%f整数部分为:%d,小数部分为:%f \\n",number,zhengshu,xiaoshu);
return 0;
。
程序执行结果:
程序设计思路就是输入一个浮点数,把这个浮点强转为整数,C语言强制转换浮点数为整数的话,会丢失精度,也就是小数部分,再把原来的数减去整数部分,就可以得到小数部分,然后定义变量把相应的部分存储,打印出来就行了。
参考技术A double x;int a = (int)x;
double b = x-a;追问
这样显示不对,小数点后采集的不对
追答c语言中将一个浮点型赋值给整型时,会不会四舍五入?
c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算。
将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。
例如执行赋值后,无论5.4还是5.6都会变成5。
扩展资料:
C语言中其它数据类型的转换:
1、单、双精度浮点型
由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。
2、char型与int型
int型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。
char型数值赋给int型变量时, 一些编译程序不管其值大小都作正数处理,而另一些编译程序在转换时,若char型数据值大于127,就作为负数处理。
3、int型与long型
long型数据赋给int型变量时,将低16位值送给int型变量,而将高16 位截断舍弃。(这里假定int型占两个字节)。 将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。
参考资料来源:百度百科-C语言类型强制转换
参考技术Ac语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算。
将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。
例如执行赋值后,无论5.4还是5.6都会变成5。
扩展资料:
C语言中其它数据类型的转换:
1、单、双精度浮点型
由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。
2、char型与int型
int型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。
char型数值赋给int型变量时, 一些编译程序不管其值大小都作正数处理,而另一些编译程序在转换时,若char型数据值大于127,就作为负数处理。
3、int型与long型
long型数据赋给int型变量时,将低16位值送给int型变量,而将高16 位截断舍弃。(这里假定int型占两个字节)。 将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。
参考资料来源:百度百科-C语言类型强制转换
参考技术B 不会的,不过可以写一个函数自己转换啊#include<stdio.h>
int fun(float x)
int a=(int)x;
if(a+0.5 > x)
return a;
else
return a+1;
int main()
printf("%d\n",fun(3.49));
printf("%d\n",fun(3.5));
return 0;
打印的为3和4,C语言很灵活的,楼主想要什么几乎都能实现本回答被提问者采纳 参考技术C
不会的,看程序的运行结果:
参考技术D 你好,不会的。浮点型数据赋给整型时,浮点型就会被自动转换成整型,整型只是整数部分。希望能够帮到你。
以上是关于怎么将c语言中一个浮点型数据的整数部分与小数部分提取出来的主要内容,如果未能解决你的问题,请参考以下文章