ip adress: В разработке:7777My Skype: Skype Phone[В]контакте: Рома УруруРазработка: EnergyDRIFT©|2015
Например:
Например у игрока есть тот же самый миллион, то вывод будет таковым:PHP код:
new
out_string[32],
money_string[12];
ConvertNumber(PlayerInfo[playerid][pMoney], money_string);
format(out_string, 32, "Вы имеете сумму: $%s.", money_string);
Код:Вы имеете сумму: $1.000.000.
BaBuIIIkaDrifteR (21.02.2015)
В консоль в любом случае выводит положительное число, поэтому value < 0 ? -value : value бесполезно использовано)PHP код:
stock ConvertNumber(value, copy_str[], size = sizeof(copy_str))
{
format(copy_str, size, "%i", value < 0 ? -value : value);
print(copy_str);
for(new i = strlen(copy_str) - 3; i > 0; i -= 3)
strins(copy_str, ".", i, size);
//if(value < 0)
// strins(copy_str, "-", 0, size);
}
Попробовал valstr, всё хорошо, вроде бы)
PHP код:
stock ConvertNumber(value, copy_str[], size = sizeof(copy_str))
{
valstr(copy_str, value);
for(new i = strlen(copy_str) - 3; i > 0; i -= 3)
strins(copy_str, ".", i, size);
}
Mazzilla, пример вашего использования покажите. Вы к размеру массива добавляли единицу под минус?
При использовании:
Выводится: -1.000.000.PHP код:
new
money_string[9],
value = -1_000_000;
ConvertNumber(value, money_string);
print(money_string);
Может быть я Вас не так понял?
Последний раз редактировалось L0ndl3m; 21.02.2015 в 15:38.
И что у Вас выводит в данном случае?
Вы меня не так поняли. Я взял ваш сток, добавил вывод в консоль (print) после превращения числа в строку (format): у меня при отрицательном и положительном входном значении выводило всегда положительное, откуда я сделал вывод, что value < 0 ? -value : value в вашем стоке было использовано за зря. Размер массива для минуса я увеличивал. Мой же сток, где использовал нативную valstr
Выводит всё, как требуется. Вот, к чему я это писал.PHP код:
stock ConvertNumber(value, copy_str[], size = sizeof(copy_str))
{
valstr(copy_str, value);
for(new i = strlen(copy_str) - 3; i > 0; i -= 3)
strins(copy_str, ".", i, size);
}
L0ndl3m (21.02.2015)
Попробуйте использовать функцию с помощью valstr для значения: cellmax ( константа ). Отпишитесь о результатах )
Ничего страшного. Просто valstr предназначена для не очень таких уж больших чисел, хотя должно предназначаться именно для того, чтобы конвертировать число в строку. Сервер просто напросто зависает и всё, как будто входит в рекурсию.
Если что, могу посоветовать очень хорошую функцию от Daniel_Cortez'а: Тык. Это замена valstr, и проста в использовании ( как и тот же valstr ).
BaBuIIIkaDrifteR (21.02.2015)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)