Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Beginner
Apr 23, 1998

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 nValue
char* 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] = '\0';
   return buff2;
}
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date