OP: You could use sprint() to turn the float into a C string and process the text or you could multiply the float by 1000 if you want to save to 3 places and store the value in a long and chop through it using more direct integer techniques, the kind you did with pencil on paper in the old days. The least digit is the remainder of divide by 10, the modulo (%) operation gives that, a loop can chop off the low digit of the number every time around until there's nothing left. That's right to left, can be buffered for later left to right read or save or activate order.