I haven't looked into how it works for floating-point, but sprintf() doesn't do nearest-value rounding for integers ("%i"), it does truncation. I end up doing the rounding myself:
Code:
x_rounded = floor(x + 0.5);
gfx_printf(#x_string, x_rounded);
But I haven't actually tried it myself, but if you're looking for lots of decimal points, it might work to do something similar, multiplying/dividing by an appropriate constant:
Code:
rounding_multiple = pow(10, 8);
x_rounded = floor(x*rounding_multiple + 0.5)/rounding_multiple;
For the font: you've used the
variable Futura (which is just the value 0) - you should use the string "Futura".