Про приведение типов в unreal scripts?

Monokini2

Поклонник кармы
Местный
Победитель в номинации 2023
Сообщения
364
Розыгрыши
0
Решения
5
Репутация
269
Реакции
258
Баллы
723
Собственно господа программисты прошу объяснить как оно так работает
image.png
curExp = 50, Wh = 14 - int
Barmodifier = 0.74 - float
 
На всякий случай оставлю тут линк на мануал:
 
А в чем собственно вопрос ?
в первом примере просто умножение 50*14 и приведение к строчному типу
во втором умножение float на int приведенное к float, и приведение результата к int , после чего приведение к строковому типу
в третьем умножение float на int приведенный к float - получается float, и приведение к строковому типу
в четвертом с начало действие в скобках(как и во втором примере) 0.74*50=37 , после чего приведение к int, далее умножение 14*50=700, и сложение с тем что в скобках = 737 .

Если вопрос в том почему получается 736 , а не 737, то проблема скорее всего в логике приведения Float в int 37.00 в 37 , возможно ошибка в логике UnrealScript Compiler( скорее всего Где-то стоит -1 , при определенном условии ) , увы исходников уже нету глянуть не могу.

А так в целом чтобы избежать этой погрешности стоит приводить float сразу к строчному типу, минуя int , нули можно убрать обычным substr по точке и 00
 
Если вопрос в том почему получается 736 , а не 737, то проблема скорее всего в логике приведения Float в int 37.00 в 37 , возможно ошибка в логике UnrealScript Compiler( скорее всего Где-то стоит -1 , при определенном условии ) , увы исходников уже нету глянуть не могу.
именно вот в этом не мог понять, почему у меня при определенных условиях единица исчезала, хотя в голове и на калькуляторе все ок было, спс)
 
ну шутки шутками, но я 2 часа экспобар в пейнте по пикселям мерил и не понимал что у меня кто-то сантиметр вырезал)
 
Назад
Сверху Снизу