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.应用技巧
在实际开发中,我们经常用整数代替浮点数,因为整数是精确的,效率也更高。