发新话题
打印

[C] 一个关于实型数据的问题,望高手指点

一个关于实型数据的问题,望高手指点

一般来说当我们定义整型数据时,比如说:a=60,b=70.我们可以比较他们的大小a<b。但是当我们定义为实型数据以后,为什么就不比较不出大小了。我知道存在精度问题,所以我想请教大虾们,我们要怎么做才能比较实型数据大小?
比如现在我想输入一个实型数据的分数,看其是否小于60.0,应该怎么做了?
P。S:已经想了好久,查阅过我手上的资料,还是没有想出来。

TOP

回复 #1 vorvorpp 的帖子

float score;
//...
if (60.0 - score >= 1e-6) {
//...
}

那个1e-6根据情况决定,取决于前后运算的精度
一般1e-6,1e-8这样也可以的了
本帖最近评分记录
  • 简单哈一 爱心 +1 2007-5-28 00:09
  • davelv 现金 +20 精彩回复,加分鼓励 2007-5-19 21:18

TOP

这个比较方法,还是比较完美的!!!!!!!!!!!!

TOP

相减的方法挺好的..
梅花香自苦寒来,宝剑锋从磨砺出。

TOP

呵呵 学习了 这个方法确实不错哦
卡喀の博客欢迎你

TOP

方法不错,好的

联系QQ:164697154

TOP

哦,这样啊,我明白了,以前我也遇到这样的处理,但是有个疑问为什么非要这样,现在我知道,基本上对于实型的比较处理,只能处理成那样,一切都是因为精度问题吧
呵呵:s025:

TOP

标新立异,八错。

TOP

发新话题