請求データの「1,200.0」と入金データの「1,200.00」は、数字としては同じ金額です。それでもBigDecimal.equalsで照合するとfalseになります。compareToに変えればその照合は通りますが、HashMapに登録した入金を別の桁数で探す処理は、その一行を直しただけでは通りません。 この記事でわかること値とscaleの両方を比べるequalsと、数値を比べるcompareToの違い。同じ入力でHashSet、HashMap、TreeSetの結果が分かれる理由。小数2桁に固定できる ...