hermann on Sun, 07 Jan 2024 17:42:42 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
printf "%'d" missing in Pari/GP for printing 1000s commas |
In C setlocale(LC_NUMERIC, ""); printf("%'d\n", 1123456789); outputs: 1,123,456,789 Pari/GP does not allow for that: ? printf("%'d",12345); *** at top-level: printf("%'d",12345) *** ^------------------- *** printf: invalid conversion or specification ' in format `%'d'. *** Break loop: type 'break' to go back to GP prompt break>For generating a markdown table with GP I used this simple function for up to 9-digit numbers:
f(d)={if(d>999999,print1(d\1000000,",");d%=1000000;printf("%03d,%03d|",d\1000,d%1000),if(d>999,print1(d\1000,",");printf("%03d|",d%1000),print1(d,"|")));} Is there a more general solution? Regards, Hermann.