Проблема с дробными значениями
#18

В документации написано:
Only the following operators may be redefined: +, -, *, /, %, ++, --, ==, !=, <, >, <=, >=, ! and =.
+= и -= нет, значит их нельзя правильно подогнать под Float, даже в последней версии.

Почему работает +? Потому что там используется функция floatadd
float.inc
pawn Код:
stock Float:operator+(Float:oper1, oper2)
    return floatadd(oper1, float(oper2));
А т.к. мы не можем редефайнить += и -=, значит они работают как с целыми числами.
pawn Код:
new a = 1,
    Float:b = 4;
a += b;
printf("%d", a);
Вывод: 5

pawn Код:
new a = 1,
    Float:b = 4;
a = a + b;
printf("%d", a);
Вывод: 1084227584 (и tag mismatch при компиляции, убрать: _:b)
А если выводить так
pawn Код:
printf("%f", a);
То вывод: 4 (наверное вызвался floatadd, т.к. есть Float значение и преобразовал a в Float )

В общем полный каламбур и неразбериха, лучше использовать языки с нормальной типизацией...
Reply


Messages In This Thread
Проблема с дробными значениями - by PeM6o - 02.06.2012, 05:47
Re: Проблема с дробными значениями - by ZiGGi - 02.06.2012, 05:53
Re: Проблема с дробными значениями - by PeM6o - 02.06.2012, 06:18
Re: Проблема с дробными значениями - by iEnemY - 03.06.2012, 20:47
Re: Проблема с дробными значениями - by jhonyxakep - 03.06.2012, 22:51
Re: Проблема с дробными значениями - by -Stranger- - 03.06.2012, 23:41
Re: Проблема с дробными значениями - by jhonyxakep - 04.06.2012, 03:58
Re: Проблема с дробными значениями - by eakwarp - 04.06.2012, 05:19
Re: Проблема с дробными значениями - by ZiGGi - 04.06.2012, 05:51
Re: Проблема с дробными значениями - by iEnemY - 04.06.2012, 10:01
Re: Проблема с дробными значениями - by eakwarp - 04.06.2012, 10:06
Re: Проблема с дробными значениями - by iEnemY - 04.06.2012, 10:13
Re: Проблема с дробными значениями - by jhonyxakep - 04.06.2012, 10:26
Re: Проблема с дробными значениями - by Stepashka - 04.06.2012, 11:58
Re: Проблема с дробными значениями - by jhonyxakep - 04.06.2012, 12:04
Re: Проблема с дробными значениями - by iEnemY - 04.06.2012, 13:17
Re: Проблема с дробными значениями - by Stepashka - 04.06.2012, 14:23
Re: Проблема с дробными значениями - by ZiGGi - 04.06.2012, 15:34
Re: Проблема с дробными значениями - by ZiGGi - 04.06.2012, 15:48
Re: Проблема с дробными значениями - by jhonyxakep - 04.06.2012, 23:32

Forum Jump:


Users browsing this thread: 1 Guest(s)