地球人都知道abs()是取得一个数的{jd1}值,好像这个函数放置于世界而皆准的东西,C++、.net、ASP、JAVA……
但很少有人知道(至少今天以前偶不知道)有的地方是不能用它来取{jd1}值的。我这里主要提提在C++里:在C++里,除了有这个abs()之外,还有一个fabs(),既然有两个,肯定是有区别的。 abs()求得是正数的{jd1}值。 fabs()求得是浮点数的{jd1}值。 区别就在这里,如果参数是一个浮点数,如-0.01,用abs()返回的是0,而不是0.01。特别是用到{jd1}值大小比较的时候,abs(-187.021)与abs(-187.033),谁大?答案是相等。要比较它们{jd1}值的大小,就得用fabs(-187.021)与fabs(-187.033),结果正确。
PS:使用fabs时,要引入头文件:#include <math.h>