使用c语言%1.2f输出小数的四舍五入问题,为什么有时候不遵循四舍五入?
#include
int main()
{
printf("%1.2f\n", 1.568);
//得到结果1.57
printf("%1.2f\n", 1.765);
//输出的是1.76
printf("%1.2f\n", 3.785);
//输出的是3.79
printf("%1.2f\n", 4.364);
//输出的是4.36
printf("%1.2f\n", 1.324);
//输出的是1.32
return 0;
}
肯定遵循四舍五入的。只不过1.765实际可能是1.76499999,而3.785实际可能是3.78500001,浮点数的精度误差导致四舍五入结果的差异