Javaで確率を計算して操作し、それをパーセンテージで表現するとき、それらを表現するのに使う最良のデータ構造は何ですか?Javaで確率とパーセントを表現し操作する正しい方法は何ですか?
ネイティブのdouble
とfloat
は、丸めが複数回発生して複合化されるときにエラーを招く奇妙な丸めの問題があるため、特に理想的な候補のようには見えません。
BigInteger
は、順列と組み合わせを計算するのに適しています。BigDecimal
は、整数以外の値の候補として適しているようですが、すでにパーセントを処理するのに適していますか?
注:この場合、計算される確率は、カードのデッキに関係するものと本質的に類似していますが、何百ものカードがあります。より多くの数学的傾向については、私は具体的にMultivariate Hypergeometric_distributionsと働いています。
彼らは常に整数パーセンテージになりますか?その場合は、intを使用します。 BigIntegerは、あなたの数が通常の整数に収まるものより大きくならないので、過剰なものです。 –
いいえ、パーセンテージは通常[0,1]の範囲ですが、 '23.29945%'のような形式で表示されます。 'BigInteger'は階乗計算に使用されます。 – cdeszaq