При вычислении вероятностей и манипулировании ими в Java, а затем выражении их в процентах, какая структура данных лучше всего использовать для их представления?
Нативная ] double
и float
не кажутся особенно идеальными кандидатами, поскольку у них есть странные проблемы с округлением, которые могут привести к ошибкам, когда округление происходит несколько раз и усугубляется.
BigInteger
хорошо работает для вычисления перестановок и комбинаций, а BigDecimal
кажется хорошим кандидатом для нецелочисленных значений, но есть ли что-то более подходящее для работы с процентами?
Примечание: в этом случае вычисляемые вероятности аналогичны по своей природе тем, которые связаны с колодами карт, но с сотнями карт. Для тех, кто больше склонен к математике, я специально работаю с Multivariate Hypergeometric_distributions .