Если у вас нет printf, или если шаги не просто степенями 10 (например, если вы хотите округлить до ближайшего 0,2), то это звучит так, как будто вы хотите квантователь:
q (x, u) = u * этаж (x / u + 0,5);
«u» - размер шага (в вашем случае 0,1), floor () находит наибольшее целое число, не превышающее его входного значения, а «+ 0,5» - округление до ближайшего целого числа.
Таким образом, вы делите на размер шага, округляете до ближайшего целого числа и умножаете на размер шага.
edit: о, не берите в голову, вы все равно делаете это, и шаг, на котором он умножается на u, приводит к ошибке округления.