#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
printf("%lf\n",123456789012345678.789)//输出123456789012345680.000000
printf("%lf\n",(double)123456789012345678)//输出123456789012345680.000000
printf("%lf\n",1234567890.1234567)//输出1234567890.123457
return 0
}
对于double类型数据,通常不能与0直接比较,而是通过其绝对值小于给定的容差值来判断是否满足精度需求,"float.h"头文件往往定义了基本数据类型能够表示的数据的最大值和最小值,比如,
#define DBL_MIN 2.2250738585072014e-308 //宏定义了double类型最小正数