使用c语言%1.2f输出小数的四舍五入问题,为什么有时候不遵循四舍五入?

使用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,浮点数的精度误差导致四舍五入结果的差异