Добавлен
Делаю конвертацию:
local real R = 20.0* 1.3
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_UPDATED, R2S(R))
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_UPDATED, I2S(R2I(R)))
В результате на экране: 26.000 и 25. Вопрос: Почему R2I возвращает не 26, как должно было бы быть по логике?
ScorpioT1000:
пожалуйста, читайте статьи xgm.ru/p/wc3/w3_data_types
я понимаю, что можно задать ошибочный вопрос
но когда люди дают ошибочный ответ ... это просто расстраивает.
Перечитал статью вдоль и поперек, ответа на свой вопрос так и не нашел. (И как вопрос может быть ошибочным?=)) Интересно...)

Принятый ответ

это к близардам а вернее к их рукам
и бж убери
если вместо 1,3 и 20 использовать 1,1 и 10 то ответ 10 выдаёт
вобще если умножаешь дробь на круглое число и конвертируеш в интежер то интежер становится на 1 меньше реала
прибавляй единичку или конвертируй реал в строку потом строку в интежер
1
28
11 лет назад
1
это к близардам а вернее к их рукам
и бж убери
если вместо 1,3 и 20 использовать 1,1 и 10 то ответ 10 выдаёт
вобще если умножаешь дробь на круглое число и конвертируеш в интежер то интежер становится на 1 меньше реала
прибавляй единичку или конвертируй реал в строку потом строку в интежер
Принятый ответ
0
2
11 лет назад
0
Так главное, если переменной присвоить целое значение напрямую, к примеру:
local real R = 26.0,
то проблем никаких не будет. Думал, может я вычисления как-то не так делаю...
И чего вы все так на BJ функции агритесь, очевидно же, что они здесь только для теста=)
1
28
11 лет назад
1
я просто на бж указал
обьясняю при умножение дроби на круглое число происходит баг
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_UPDATED, I2S(S2I(I2R(R))))
так вот делай
ой вместо I2R используйR2I
или проверку if R!=I2R(R2I(R)) then
0
2
11 лет назад
0
nvc123:
ой вместо I2R используй R2I
R2S ты хотел сказать?))
Вообщем суть я уловил, хоть и геморно, но работает, спасибо за совет))
3
8
11 лет назад
3
особенность реала или числа double - это баг и криворукость близов
ура товарищи
0
28
11 лет назад
0
закрывай вопрос а то бесит когда вопросы на которые дали ответы весят как без ответа
2
37
11 лет назад
2
пожалуйста, читайте статьи xgm.ru/p/wc3/w3_data_types
я понимаю, что можно задать ошибочный вопрос
но когда люди дают ошибочный ответ ... это просто расстраивает.
2
37
11 лет назад
2
Близзарды тут не при чём, ещё раз намекаю на ВАШУ криворукость.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.