03.09.2010, 17:08
Всем привет. Очередной тупой вопрос от меня
Вообщем я вообще запутался с числами с плавающей запятой.
Суть такова, решил я сделать налоги на сервере, и что-бы мэр мог менять их. Причём нада что-бы было можно ставить например 0.7% или даже 0.55%, т.е. с точкой.
Функции для чтение\записи в ini файл сделал, всё читает, всё пишет.
А вот и использованием в коде есть траблы.
Первый такой:
Создаю переменную:
new Float:PERCENTAGEAUTOBUY;
дальше загружаю её значение. Всё загружается.
Дальше использую её:
new Price1[max_line];
Price1[pid] = Price[vid]-((Price[vid]/100)*PERCENTAGEAUTOBUY);
И при компиляции на этой строке варнинг: "warning 213: tag mismatch"
Второй:
В результате когда я пытаюсь ввести число например "0.5" пишет "Некорректное количество", а например если "1.5" то сохраняет как просто "1"
ps. Мод Mafia Wars.
Вообщем я вообще запутался с числами с плавающей запятой.
Суть такова, решил я сделать налоги на сервере, и что-бы мэр мог менять их. Причём нада что-бы было можно ставить например 0.7% или даже 0.55%, т.е. с точкой.
Функции для чтение\записи в ini файл сделал, всё читает, всё пишет.
А вот и использованием в коде есть траблы.
Первый такой:
Создаю переменную:
new Float:PERCENTAGEAUTOBUY;
дальше загружаю её значение. Всё загружается.
Дальше использую её:
new Price1[max_line];
Price1[pid] = Price[vid]-((Price[vid]/100)*PERCENTAGEAUTOBUY);
И при компиляции на этой строке варнинг: "warning 213: tag mismatch"
Второй:
Code:
...........тут начало кода......... else if(iscmd(tmp,"bank")){ tmp = strtok(cmdtext,idx); if(!strlen(tmp)){ format(msg,max_line,"Проценты от вклада: %.3f процентов",PERCENTAGEBANK); Message(playerid,msg,clYellow); return 1; } pint = strval(tmp); if(pint<=0 || pint>=10){ Message(playerid,"Некорректное количество",clYellow); return 1; } PERCENTAGEBANK = pint; format(msg,max_line,"Мэр изменил проценты от вклада. Теперь они равны: %.3f процентов",PERCENTAGEBANK); SendClientMessageToAll(clYellow, msg); } ...........тут конец кода.........
ps. Мод Mafia Wars.