计算精度是够的,只是你输出的时候默认进行了舍入试试这样 printf("%.7lf\n",Decimal); printf("%.7lf\n",(double)3+Decimal);
double的精度就这样了如果想要高精度,就用自定义类型,想多少都行