Запутавшись, почему я не получаю ожидаемую сумму? - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть 1 результат, который я получу на банковском счете. Исходя из этого, я должен положить баланс на счет пользователя.

Как вы можете найти стоимость обработки из общего количества попыток 491.50 / 0.95 = 517.36, что неверно? Это должно быть 500,00 (к моему ожиданию)

Баланс пользователя требует 500,00 При выборе 500.00 он получает 5% скидку Для этого

стоимость обработки
ex:
1) Discount: 500.00 - 5% = 475.00    
2) Handling cost: (475.00 x 0.034) + 0.35 = 16.50   
3) Total: 475.00 + 16.50 = 491.50

Итак, проблема с 491.50, мне нужно найти как минимум стоимость обработки, чтобы получить обещанный баланс.

Есть решение? Не могу понять это сам ...

Короче говоря: а) я поставил 491.50 -> б) моя формула предложит мне применить баланс 500,00 (что является основной целью)

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Таким образом, ваша математика может быть представлена ​​как:

((0.95 * initialCost * 0.034) + 0.35) + (0.95 * initialCost ) = finalCost

, которая уменьшается до

(0.9823 * initialCost) + 0.35 = finalCost

Из этого следует, что

initialCost = (finalCost - 0.35) / 0.9823

1 голос
/ 23 декабря 2010

(final_price - 0.35) / 1.034 / 0.95

Для 491.50 это дает 500.

Вы можете попытаться объединить последние 2 деления для деления на 1.034 * 0.95 = 0.9823,но вам придется избегать ошибок округления из-за использования арифметики с плавающей запятой.

...