You can round in C by multiplying for the significance, adding +0.5, round down (equals as casting to an integer) and divide.
float f_rounded = ((int) (f * 10.0 + 0.5) / 10.0);
28.6 will be:
float f_rounded = ((int) (28.6 * 10.0 + 0.5) / 10.0)
= ((int) 286.5) / 10.0 = 286 / 10.0 = 28.6
In Python it is equal (except the cast operator is int(...)
Update: for negative numbers +0.5 should be -0.5
Credits for Edgar Bonet: using round works for both positive and negative numbers:
float f_rounded = round(f * 10) / 10.0;