Print out the integer part as an integer, then print out the decimal part by subtracting the integer part. Watch out for negative numbers and zero-padding.
Or just use something like this. I assume you have a 'print this charcater at x,y' function
// note that the lenght of the ouput will be maxdigits +1.
// f must be positive
// maxDigits must be at least 1 greater than decimals.
void printfixedpoint(float f, int x, int y, int maxDigits, int decimals) {
for(i = 0; i<decimals; i++) {
f *= 10;
}
long l = f+.5; // add .5 for rounding
x += maxDigits+1; // one past the end
for(int i =0; i<maxDigits; i++) {
if(i == decimals) {
print('.', --x, y); // decimal point
}
if(i > decimals && l==0) {
print(' ', --x, y); // leading blank
}
else {
print((l % 10) + '0', --x, y); // a single digit
}
}
}