Belirtilen ancak doğrudan ele alınmayan önemli bir nokta, "kesinlik" ve "ölçek" arasındaki fark ve bunların iki ifadede nasıl kullanıldığıdır. "duyarlık" , bir sayıdaki toplam anlamlı basamak sayısıdır. "ölçek" , ondalık ayırıcının sağındaki basamak sayısıdır.
MathContext yapıcısı yalnızca duyarlık ve RoundingMode değerlerini bağımsız değişken olarak kabul eder ve bu nedenle ölçek hiçbir zaman ilk ifadede belirtilmez.
setScale()
ölçeği RoundingMode'un yanı sıra bir argüman olarak açıkça kabul eder, ancak ikinci ifadede kesinlik asla belirtilmez.
Ondalık noktayı bir yer sağa taşırsanız fark netleşir:
// 1.
new BigDecimal("35.3456").round(new MathContext(4, RoundingMode.HALF_UP));
//result = 35.35
// 2.
new BigDecimal("35.3456").setScale(4, RoundingMode.HALF_UP);
// result = 35.3456