C语言中float型数据怎么 取整数部分算法 或取小数部分

Python013

C语言中float型数据怎么 取整数部分算法 或取小数部分,第1张

分析如下:

一种简单的办法是直接强制转换到int型就是整数部分。减去这个int型就是小数部分了。

代码如下:

float n=12.223

int x=(int)n

float y=n-(float)x

得出的x为数据的整数部分,y为数据的小数部分。

拓展资料

浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在-3.4E+38 和 3.4E+38 之间的范围。

(资料来源:百度百科:FLOAT)

int n=5

double x=3.141592654

while(n>0) //取出小数后n位

{

x=x*10//更新x值,把小数点后第一位放在个位上

printf("%d\n",(int)x%10) //int强制把double转换成int,因为求余必须为int类型,//而%10求余,是求个位上的数字

i--

}

用以下的代码可以把一个浮点数的整数部分和小数部分分离开来:

#include "stdio.h"

int main()

{double a,pi=3.1415926

int i

i=(int)pi        /*用(int)就可以取出浮点数的整数部分*/

a=pi-i            /*浮点数减去整数部分就是纯小数了*/

printf("%.7lf=%d+%.7lf\n",pi,i,a)

system("pause")

return 0

}