小数がからむ計算の場合、 floatやdoubleを使うとその性質上必ず誤差が出る。 よって、お金の計算などの正確さが必要な場合は BigDecimalは必須。 クラス図は次のようになる。 本体のBigDecimal以外も「MathContext」「RoundingMode」を利用する。 生成 BigDecimalは「16種類のコンストラクタ」or「3つのvalueOf()」で生成できる。 どれを使用するかは、次の順に検討する。 文字列を使ったコンストラクタ new BigDecimal(String val) long値を受け取るvalueOf valueOf(long val) long値とそのスケールを受け取るvalueOf valueOf(long unscaledVal, int scale) double値とMatchContextを受け取るコンストラクタ BigDecimal
![BigDecimal 基本編 : Java好き](https://cdn-ak-scissors.b.st-hatena.com/image/square/cbac06d62c973239a1758f5673eaf972f954832e/height=288;version=1;width=512/http%3A%2F%2Flivedoor.blogimg.jp%2Ftomioka_t-javazuki%2Fimgs%2F2%2F9%2F293ee302.png)