Consuming 0.5K bytes, Michael Hipp blathered:
> It's been a long time since I programmed anything with financial-style 
> numbers in c, but I thought there was a printf option to put commas in 
> the numbers so you get 1,234,567 instead of the hard-to-read 1234567.
> 
> Is there a simple c way to do this or do I have to write it?

You mean something like:

#include <stdio.h>
#include <locale.h>

int main(void)
{
        char *locale;

        locale = setlocale(LC_NUMERIC, "en_US.iso88591");
        if (locale == NULL) {
                perror("setlocale");
        } else {
                printf("%'d\n", 12345);
                setlocale(LC_NUMERIC, locale);
        }
        return 0;
}

$ ./a.out
12,345
$ 

See setlocale(3), printf(3), locale(1), locale(5), and locale(7).
Note that the single quote between % and d is correct...

Kurt
-- 
Anything is good and useful if it's made of chocolate.
_______________________________________________
Linux-users mailing list
[EMAIL PROTECTED]
Unsubscribe/Suspend/Etc -> http://smtp.linux-sxs.org/mailman/listinfo/linux-users

Reply via email to