Roman Rdgz Roman Rdgz - 1 year ago 88
C Question

C: printf a float value

I want to print a float value which has 2 integer digits and 6 decimal digits after the comma. If I just use

printf("%f", myFloat)
I'm getting a truncated value.

I don't know if this always happens in C, or it's just because I'm using C for microcontrollers (CCS to be exact), but at the reference it tells that
get just that: a truncated float.

If my float is
, I'm printing out
, only the first two decimal digits.

So the question is... how can I print my 6 digits (and just the six of them, just in case I'm having zeros after that or something)?

Answer Source

You can do it like this:

printf("%.6f", myFloat);

6 represents the number of digits after the dot.

P.S. Thanks @caf for correcting me.