-
Публикаций
1 129 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Одно обновление статуса
Смотреть все обновления от Di-Crash
-
Не пойму, что в этой формуле неправильно? (item:getWeight() * 0.3) + (item:getContentsWeight() * (1.0 - (item:getWeightReduction() / 100)))item:getWeight = 0item:getContentsWeight = 3.8item:getWeightReduction = 90По идее должно получиться так, ((0 * 0.3 = 0) + (3.8 * (1.0 - (90 / 100 = 0.9) = 0.1) = 0.38)) = 0.38 но получается 4.18! Какого хрена-то?
-
Я уже разобрался. Проблема была в том что переменная ActualWeight не содержит данных о ContentsWeight как я сначала думал.
Получалось что ((((Weight = 0) + (ContentsWeight = 3.8)) = 3.8) + ((ContentsWeight = 3.8) * (1.0 - ((WeightReduction = 90) / 100 = 0.9) = 0.1) = 0.38)) = 4,18
Получил нужный результат через item:setActualWeight((item:getWeight() * 0.3) - (item:getContentsWeight() * (item:getWeightReduction() / 100)));
-
28 минут назад, Аутсайдер сказал:
Формула верная, но у тебя видимо где-то складывает нужный результат 0.38 с item:getContentsWeight = 3.8. Проверь еще раз, может у идет добавление, а не перезапись. Или чему ты там присваиваешь.
Да, так и есть, я думал что переменная ActualWeight хранит данные о всех изменениях веса. а оказалось что только о Weight.