我有一个舍入功能,
float myround(float x, int places)
{
float const shift = powf(10.0f, places);
x *= shift;
x = floorf(x + 0.5f);
x /= shift;
return x;
}
当我尝试将数字四舍五入到小数点后 4 位,然后用
printf("%f ", x);
我得到了没有四舍五入的数字。如果我打印它
printf("%.4f ", x);
我把数字四舍五入到 4 位。第一个 printf 是否应该不将数字打印到小数点后 4 位,因为我已经将数字四舍五入了?
谢谢。