devxlogo

String formatting

String formatting

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;}

See also  Redefining Energy Management: Advanced Solutions for Modern Buildings
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist