Correct version (C lang):
float round_offf(float num, int precision) { long power = pow(10, precision + 1);; long result = num * power; if ((result % 10) >= 5) result += 10; return ((float)result / (float)power); }