まず、私の検索スキルが期待したほど良くない可能性があるため、この種の質問が既に存在する可能性があります。もしそうなら教えてください..
以下のコードを参照してください。
new BigDecimal("5").add(new BigDecimal("7"));
対
new BigDecimal("5").add(new BigDecimal("7"), mathContext);
mathcontext が本当に必要になるのはどのような状況ですか (除算を除く)?
何かを分割しない限り、私は mathcontext を使用しません。私の知る限り、これは常に機能していましたが、ここでの欠点は何でしょうか? 足し算、引き算、掛け算に mathcontext は必要ですか? 私は BigDecimal があまり得意ではありません。double を使用する場合のように、情報を失わないように使用したいだけです。何かを追加する際に mathcontext を使用するコードを時々目にするので、それが役に立たないというのが私の意見だからといって、単にそれを削除するのはあまりにも怖いです...
その質問を読みましたが、特定の質問に対する適切な答えが実際には見つかりませんでした... mathcontext なしで BigDecimals から始めて、それらで計算します。だから私の質問は、情報の損失/精度などに関してこれに欠点があるでしょうか? それとも、これは単に最大の情報につながるのでしょうか?
編集:丸めたくありません。もちろん、1/3 のような除算の場合は丸めを行う必要がありますが、加算、乗算、減算の場合は丸めを行いたくありません。その場合、どのような状況でも mathcontext が必要ですか?