如果用实型变量x接收一个数或通过计算得到一个数后要知道它是不是整数,没有很好的办法.因为实数在计算机中不能准确的存储,所以不能直接判断两个实型量是否相等,(实型和整形是不能直接比较的,要做一步类型转换才能比较)首先要明确能允许的误差是多少.比如,一般情况当误差的绝对值小于10-8时我们可以认为两个实数是相等的.

第一种方法:

#include

#include

float x;

...

if(fabs(x-(int)x)<1e-8) printf(“x是一个整数\n”);

else printf(“x不是一个整数\n”);

第二种方法 :

int c = (int)b,d = (int)(b + 0.999999)

if( c == d )

printf(“是整数\n”);

else

printf(“不是整数\n”);

第三种方法 :

float b;

...

if(b - (int)b == 0)

printf(“是整数\n”);

else

printf(“不是整数\n”);

第四种方法 :

float b;

...

if( b != (int)b )

printf(“不是整数\n”);

else

printf(“是整数\n”);

top
Copyright © 2088 篮球世界杯美国队名单_意大利世界杯预选赛 - pyqtui.com All Rights Reserved.
友情链接