printf format float with padding
c, floating-point, floating-point-conversion
Solution
The following should line everything up correctly:
printf("ABC %6.1f DEF\n", test);
printf("ABC %6.1f DEF\n", test2);
When I run this, I get:
ABC 1234.5 DEF
ABC 14.5 DEF
The issue is that, in `%5.1f`, the `5` is the number of characters allocated for the entire number, and `1234.5` takes more than five characters. This results in misalignment with `14.5`, which does fit in five characters.
Problem
The following test code produces an undesired output, even though I used a width parameter: ``` int main(int , char* []) { float test = 1234.5f; float test2 = 14.5f; printf("ABC %5.1f DEF\n", test); printf("ABC %5.1f DEF\n", test2); return 0; } ``` Output ``` ABC 1234.5 DEF ABC 14.5 DEF ``` How to achieve an output like this, which format string to use? ``` ABC 1234.5 DEF ABC 14.5 DEF ```