Digit grouping in C's printf
c, digit, grouping, printf
Solution
If you can use POSIX printf, try
#include <locale.h>
setlocale(LC_ALL, ""); /* use user selected locale */
printf("%'d", 1000000);
Problem
I wish to output large numbers with thousand-separators (commas or spaces) — basically the same as in How to display numeric in 3 digit grouping but using `printf` in C (GNU, 99). If printf does not support digit grouping natively, how can I achieve this with something like `printf("%s", group_digits(number))`? It must support negative integers and preferably floats, too.