1. 基本概念
- float只能表達6-7位的有效數字,不能用“==”判斷兩個數字是否相等。
- double能表達15-16位有效的數字,可以用“==”判斷兩個數字是否相等。
- long double和double的特徵相同。
在實際開發中,建議棄用float,只採用double就可以,long double暫時沒有必要。浮點數採用%lf輸出,完整的輸出格式是%m.nlf,指定輸出數據整數部分和小數部分共佔m位,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。
2. 必須掌握的庫函數
double atof(const char *nptr); // 把字符串nptr轉換爲double
double fabs(double x); // 求雙精度實數x的絕對值
double pow(double x, double y); // 求 x 的 y 次冪(次方)
double round(double x); // double四捨五入
double ceil(double x); // double向上取整數
double floor(double x); // double向下取整數
double fmod(double x,double y); // 求x/y整除後的雙精度餘數
double modf(double val,double *ip); // 把雙精度val分解成整數部分和小數部分,整數部分存放在ip所指的變量中,返回小數部分。
3.應用技巧
在實際開發中,我們經常用整數代替浮點數,因爲整數是精確的,效率也更高。