Какая точность должна быть, чтобы избежать погрешности при пересчёте? Всем привет.
Есть задача.
Есть полная сумма - Sum.
Sum = amount[0] + amount[1] + ... + amount[n]
Все данные amount[i] (точность до двух знаков), перевели в проценты:
percent[i] = amount[i] * 100 / Sum.
Получаю список данных, в которых хранятся эти проценты, с точностью до двух знаков: 5.26, 5.26 и т.п.
На основе этих данных вычисляется кол-во для каждого процента (т.е. обратный пересчёт):
amount[i] = (Sum * percent[i]) / 100
Какая точность должна быть в процентных данных, чтобы получать корректные количественные данные (при обратном пересчёте), с округлением до двух знаков?
Мне кажется должна быть какая-нить теоремка или док-во по этому поводу.
Заранее благодарен.

21 Авг 2019 в 06:09
158 +1
0
Ответы
1

Для избежания погрешности при обратном пересчёте необходимо, чтобы сумма всех процентов была равна 100%. То есть сумма всех percent[i] должна быть равна 100. При этом, чтобы избежать округлений и погрешностей, рекомендуется хранить проценты с большей точностью. Например, можно хранить проценты с точностью до 4 знаков (например, 5.2638%), чтобы после обратного пересчёта и округления до двух знаков получить корректные количественные значения.

Таким образом, для получения корректных данных при обратном пересчете, рекомендуется хранить проценты с точностью до 4 знаков, чтобы избежать погрешностей при округлении.

20 Апр в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 905 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир