shape1
shape2
shape3
shape4
shape7
shape8

[СИСТЕМА] Точки в числах


Давид Ордян

Модератор
Команда портала
Модератор
09.10.2021
180
10
11
0
Код:
stock bool:FormatIntWithDelimiters(value, outstr[], delimiter = '.', size = sizeof(outstr))
{
static delimiter_string[2] = { '\0', '\0' };
static len;
delimiter_string[0] = delimiter;
if (value != cellmin)
format(outstr, size, "%d", value);
else
outstr[0] = '\0', strcat(outstr, "-2147483648", size);
len = strlen(outstr);
switch (len - _:(value < 0))
{
case 10:
{
if (len + 3 >= size)
return false;
strins(outstr, delimiter_string, len - 3, 1);
strins(outstr, delimiter_string, len - 6, 1);
strins(outstr, delimiter_string, len - 9, 1);
}
case 7..9:
{
if (len + 2 >= size)
return false;
strins(outstr, delimiter_string, len - 3, 1);
strins(outstr, delimiter_string, len - 6, 1);
}
case 4..6:
{
if (len + 1 >= size)
return false;
strins(outstr, delimiter_string, len - 3, 1);
}
}
return true;
}
stock formatInt(amount, delimiter[2] = ".")
{
new int_string[15];
format(int_string, sizeof(int_string), "%d", amount >= 0 ? amount : -amount);

new value = strlen(int_string);
switch(value)
{
case 4..6:
strins(int_string, delimiter, value - 3, 1);
case 7..9:
strins(int_string, delimiter, value - 3, 1),
strins(int_string, delimiter, value - 6, 1);
case 10..12:
strins(int_string, delimiter, value - 3, 1),
strins(int_string, delimiter, value - 6, 1),
strins(int_string, delimiter, value - 9, 1);
}

if(amount < 0) strins(int_string, "-", 0);

new money[16];
format(money, sizeof(money), "%s", int_string);
return money;
}