Кстати мне показалось, что у него там ошибка в округлении при использовании функции Round. Т.к. эта функция округляет до ближайшего целого и по идеи может не хватить в реале денег!