Use string representation to construct BigDecimal to avoid precision issues.
When constructing a BigDecimal, using a string ensures the exact value is represented. Using double or float can lead to precision errors. For example, new BigDecimal("2.5") is accurate, while new BigDecimal(2.5) might not be.