关于如何正确读取一个小于1的小数

double x;
scanf("%lf",&x);

片段如上
当我输入0.6进行调试的时候,发现读取到的数字是0.5999999999999999
严重影响到了后面的计算
请问如何解决这个问题?

精度丢失问题,输出的时候,保留一位或者两位小数。
printf("%.2f\n", x);

当我输入0.6进行调试的时候,发现读取到的数字是0.5999999999999999
==不至于严重影响吧?如果结果不正确,可能是其它问题。浮点数就是这样的,你定义float a = 0.5,实际并不是正好0.5,因为精度无法保证

在电脑中浮点数无法保证精度,只会取一个近似值