Advertisement
RazvanDuciuc

Format number trilioane.

Mar 3rd, 2018
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.46 KB | None | 0 0
  1. FormatNumber(number)
  2. {
  3.    new Str[15];
  4.    format(Str, 15, "%d", number);
  5.  
  6.    if (strlen(Str) < sizeof(Str))
  7.    {
  8.       if (number >= 1000 && number < 10000)
  9.              strins( Str, ",", 1, sizeof(Str));
  10.  
  11.       else if (number >= 10000 && number < 100000)
  12.            strins(Str, ",", 2, sizeof(Str));
  13.  
  14.       else if (number >= 100000 && number < 1000000)
  15.            strins(Str, ",", 3, sizeof(Str));
  16.  
  17.       else if (number >= 1000000 && number < 10000000)
  18.            strins(Str, ",", 1, sizeof(Str)),strins(Str, ",", 5, sizeof(Str));
  19.  
  20.       else if (number >= 10000000 && number < 100000000)
  21.            strins(Str, ",", 2, sizeof(Str)),strins(Str, ",", 6, sizeof(Str));
  22.  
  23.       else if (number >= 100000000 && number < 1000000000)
  24.            strins(Str, ",", 3, sizeof(Str)),strins(Str, ",", 7, sizeof(Str));
  25.  
  26.       else if (number >= 1000000000 && number < 10000000000)
  27.            strins(Str, ",", 1, sizeof(Str)),
  28.            strins(Str, ",", 5, sizeof(Str)),
  29.            strins(Str, ",", 9, sizeof(Str));
  30.       else format(Str, 10, "%d", number);
  31.    }
  32.    else  format( Str, 15, "<BUG>" );
  33.    return Str;
  34. }
  35.  
  36.  
  37. //Sau poti folosi si asa
  38.  
  39.  
  40. FormatNumber(number)
  41. {
  42.     new numOfPeriods = 0, tmp = number;
  43.     new str[32];
  44.     while(tmp > 1000) {
  45.         tmp = floatround(tmp / 1000, floatround_floor), ++numOfPeriods;
  46.     }
  47.     valstr(str, number);
  48.     new slen = strlen(str);
  49.     for(new i = 1; i != numOfPeriods + 1; ++i) {
  50.         strins(str, ",", slen - 3*i);
  51.     }
  52.     return str;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement