Правильная загрузка
Помогите разобраться с загрузкой. Из-за округления определенный процент теряется.
Пробовал real, но у него свои "причуды":( PHP код:
|
Ответ: Правильная загрузка
Проблема решена! Нашел в другом разделе (был не внимателен). Тема закрыта!:)
Нужно было просто перевести int в real. (код ↓) |
Ответ: Правильная загрузка
Можно заставить исходный код работать корректно, если поменять скобки местами в fillRect:
Код:
fillrect(7, 7, (progress * gauge_w) / 100, gauge_h); Тогда gauge_w = 226 В вашем изначальном коде формула задана как progress * (gauge_w / 100). При выполнении с progress = 100 выполняются следующие операции: n = gauge_w = 226 n = n / 100 = 2 (переменная целочисленная - дробная часть отброшена) n = n * progress = 200 ширина = 200 (должно было быть 226) Если поменять порядок скобок на упомянутый мной, то действия будут изменены на: n = progress = 100 n = n * gauge_w = 22 600 (к счастью, максимальное значение целочисленной 2 147 483 648) n = n / 100 = 226 (успех!) В случае, когда производится большое количество прорисовок экрана, использование целочисленных может оказатся выгоднее чем использование несомненно хорошего, но медлительного класса Real из MP. Надеюсь эта информация оказалась полезной. Хорошего дня. |
Часовой пояс GMT +4, время: 09:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot