MathContext.DECIMAL32
またはMathContext.DECIMAL64
を使用しますか?私はdocumentationを見ましたが、どちらを使うかは本当に分かりませんでした。MathContext.DECIMAL32とMathContext.DECIMAL64のどちらを使用するのですか?その理由は何ですか?
私は金額に適用したい割合を表すためにBigDecimalを使用しています。このような何か:
...
final MathContext mc = MathContext.DECIMAL32;
BigDecimal amount = getAmount(args);
float percent = getPercent().floatValue();
BigDecimal percentAsBd = new BigDecimal(percent/100.f, mc).setScale(4, RoundingMode.HALF_UP);
BigDecimal threshold = amount.multiply(percentAsBd);
...
私は、Ubuntuの14.04、インテルコアi7の(64)お使いのシステムのアーキテクチャに応じて、任意の64ビットタイプの操作のための命令セットが分割されます
あなたはあなたではなくたMathContextを構築するよりも、それらのいずれかを使用する必要があります感じて任意の特定の理由あなたの要件に合った丸め? –
@PatriciaShanahan私は32ビットと仮定しているJavaのネイティブ浮動小数点との互換性に関して懸念していると思います。 – has981
Javaのネイティブ浮動小数点数は、10進数ではなく2進数であり、パーセント値を表すためにBigDecimalよりはるかに適していません。私はそのサイズが関係しているとは思わない。 –