Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C örnek kodlar > c_ornek00029

C örnek kodlar

Integer bir değere binler basamağı ayırıcı karakter ekleme

Aşağıdaki program, karakter dizisi olarak verilen integer bir sayıya binler basamağı ayırıcısı olarak önce nokta sonra virgül karakteri kullanarak ekrana yazar.


#include <stdio.h>
#include <string.h>

char *bg_int_sep(const char* instr, char *outstr, char sep);

int main(void)
{
    char cdizi[30];

    // Binler basamağı ayırıcı için nokta karakteri kullanma    
    printf("%s\n", bg_int_sep("2175852146987", cdizi, '.'));
    // Binler basamağı ayırıcı için virgül karakteri kullanma
    printf("%s", bg_int_sep("2175852146987", cdizi, ','));

    return 0;
}

char *bg_int_sep(const char* instr, char *outstr, char sep)
{
  int ilen = strlen(instr);
  char *ipos = instr;
  char *opos = outstr;

  while (*ipos) {
    if((instr!=ipos) && (((instr+ilen)-ipos)%3==0)) {
       *opos++ = sep;
    }
    *opos++ = *ipos++;
  }

  *opos = '\0';

  return outstr;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

2.175.852.146.987
2,175,852,146,987