Question:
Is there a function that will format a string for number or, say, $$ display? For example: format 1000000 to 1,000,000?
Answer:
No, the C standard has no such function.
The following routine takes an integer argument, converts it to a string using the itoa()
run-time library function, and then loops through to add commas to separate thousands. Simply prepend “$” if you want it to appear as currency.
// Creates an ASCII string with thousands commas for nValuechar* IntToText(int nValue){ size_t i, j = 0; char buff1[20]; static char buff2[25]; // Convert to ascii itoa(nValue, buff1, 10); // Insert commas for (i = 0; i < strlen(buff1); i++) { if (i && ((strlen(buff1) - i) % 3) == 0) { buff2[i + j] = ','; j++; } buff2[i + j] = buff1[i]; } buff2[i + j] = ' '; return buff2;}