Форумы-->Ошибки и сбои (общее)-->
| Автор | 5*0.2=1.1 ??? |
В общем задачка.
Купил 5 зельев восстановления по 0.2 криса, за первое зелье сняло 0.3 криса, дальше по 0.2.
Итого было 6, осталось 4.9.
Не жалко, но что-то с математикой не айс. | Это все проблемы округления, там у тебя было не 6, а 5.999+
Ошибка реального числа, комп всегда тупит, на калькуляторе если посчитать, то норм, если юзать числа с кучей цифр после запятой, то будут погрешности, в зависимости от того, какой скрипт юзается, если там тупо A+B, то будут погрешности. Что бы их не было, нужно юзать округления всегда до целочисленной умноженной на 1к или 10к или 100к реальной (смотря сколько знаков после запятой нужно сохранить), потом назад переводить в реальную и делить назад на то же число, чего у админов них нет, видимо, в скриптах. | так он изначально и показывал бы 5.9, вопросов не было.
Получается от 6 отнял 1 получил 4.9 из-за округления... | для putnik_:
Не все так просто :D Смотря какой метод округления юзается, например 10.5 -> 10, но 11.5 -> 12, т.к. четное в приоритете. | двоичная система исчисления для округления:)
Щас ради прикола еще 5 куплю... | | Т.е я хочу сказать, чо если бы у тебя было 5, то было 4.9 изначально. Вот мейчас у тебя 5, вот и показывает 4.9. Если ты купишь еще 5 зелий, то будет ровно 4. Хотя на самом деле у тебя будет ~3.9999999. | ага, фиг. 3.9 стало :)
ААААА верните 250 золотых!!! :) | | Ну значит там какой-то другой метод, их много. :D | | тема закрыта by Alexander (adm) (2015-08-24 06:02:55) |
|---|
К списку тем
|