Какая точность должна быть, чтобы избежать погрешности при пересчёте? Всем привет.
Есть задача.
Есть полная сумма - 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
179 +1
0
Ответы
1

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

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

20 Апр 2024 в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир