怎么将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语言强制转换浮点数为整数的话,会丢失精度,也就是小数部分,再把原来的数减去整数部分,就可以得到小数部分,然后定义变量把相应的部分存储,打印出来就行了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04
double x;

int a = (int)x;
double b = x-a;追问

这样显示不对,小数点后采集的不对

追答

本回答被提问者采纳

怎么将c语言中一个浮点型数据的整数部分与小数部分提取出来
int main(){ double number; \/\/其中number表示输入的数 int zhengshu; \/\/表示实数的整数部分 double xiaoshu; \/\/表示整数的小数部分 printf("请输入一个实数:"); \/\/提示输入一个数 scanf("%lf",&number);zhengshu = (int)number;xiaoshu = number-zhengshu;printf("%f整数部分为:%d,...

C语言中float型数据怎么 取整数部分算法 或取小数部分
一种简单的办法是直接强制转换到int型就是整数部分。减去这个int型就是小数部分了。代码如下:float n=12.223;int x=(int)n;float y=n-(float)x;得出的x为数据的整数部分,y为数据的小数部分。

c语言中如何取得浮点数的小数部分
在C语言中,可以使用类型转换、取模来取得整数和小数部分。以下代码示例:类型转换:可以使用类型转换函数将浮点数转换成整数,将整数转换成浮点数,以取得整数和小数部分。例如,以下代码将整数a的小数部分取出:请点击输入图片描述 取模:可以使用取模运算符( %)来取得整数和小数部分。例如,以下代码将...

c语言怎样取整数和小数部分?
在C语言中,取浮点数的小数部分也有多种方法。一种方法是使用浮点数减去整数部分,得到小数部分。另一种方法是使用取模运算符(%),将浮点数转换成整数类型,并对取模运算符右边的数取绝对值,然后将结果转换回浮点数。需要注意的是,浮点数的精度问题可能会影响到这两个操作的结果。在进行浮点数运算...

c语言怎么分离出浮点型数据的小数部分
很容易的 比如你的float数是 float a = 1.56;使用强制转换就可以向下取到float的整数部分 int inta = (int)a;然后取差值就可以了 float diff = a - inta;这样可以满足你的需求了

c语言如何将浮点数的整数、2位小数单独取出来?
include <stdio.h>int main (void){ double input=123.45,xiaoshu; int zhengshu; printf("input:%f\\n",input); zhengshu = input; xiaoshu = input - zhengshu ; printf("xiaoshu:%f\\n",xiaoshu); printf("zhengshu:%d",zhengshu = input -xiaoshu);} ...

c语言如何将浮点数的整数、2位小数单独取出来?
include <stdio.h>int main (void){ double input=123.45,xiaoshu; int zhengshu; printf("input:%f\\n",input); zhengshu = input; xiaoshu = input - zhengshu ; printf("xiaoshu:%f\\n",xiaoshu); printf("zhengshu:%d",zhengshu = input -xiaoshu);} ...

C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!
回答:这个进行转换就能完成 代码如下: #include <stdio.h>int main(){float a,c;int b;printf("请输入一个小数:"); scanf("%f",&a);b = (int)(int)(a+1.0e-6);;c=a-b; printf("\\n\\n输入的是:%f 整数是:%d 小数是:%f\\n\\n",a,b,c); }

C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!
这个进行转换就能完成 代码如下:include <stdio.h>int main(){float a,c;int b;printf("请输入一个小数:"); scanf("%f",&a);b = (int)(int)(a+1.0e-6);;c=a-b; printf("\\n\\n输入的是:%f 整数是:%d 小数是:%f\\n\\n",a,b,c); } ...

C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!
(int)12.5 = 12 整数部分 12.5 - 12 = 0.5 小数部分

相似回答