#include unsigned int float_prec_len (float f) { unsigned int prec_len, mult_by_factor = 1; float num; for (prec_len = 1; ; prec_len++) { mult_by_factor *= 10; num = (float) mult_by_factor * f; if (floor (num) == num) return prec_len; if (prec_len == 6) break; } return 1; /* Never reached? */ }