Class Java15BigDecimalHandler

java.lang.Object
net.sf.jasperreports.engine.util.Java15BigDecimalHandler
All Implemented Interfaces:
BigDecimalHandler

public class Java15BigDecimalHandler extends Object implements BigDecimalHandler
BigDecimalHandler implementation used on Java 1.5 or newer.

This implementation uses a configured minimum precision when performing divisions.

Author:
Lucian Chirita (lucianc@users.sourceforge.net)
See Also:
  • Field Details

    • PROPERTY_MINIMUM_PRECISION

      public static final String PROPERTY_MINIMUM_PRECISION
      An integer property that provides the minimum precision to be used for division operations.

      The property can only be set globally. The default value is 16.

      See Also:
  • Constructor Details

    • Java15BigDecimalHandler

      public Java15BigDecimalHandler()
    • Java15BigDecimalHandler

      public Java15BigDecimalHandler(int minPrecision)
  • Method Details

    • divide

      public BigDecimal divide(BigDecimal dividend, BigDecimal divisor)
      Divides the values using the biggest of the dividend precision, the divisor precision and the configured minimum precision as result precision, and RoundingMode.HALF_UP as rounding mode.
      Specified by:
      divide in interface BigDecimalHandler
      Parameters:
      dividend - the dividend
      divisor - the divisor
      Returns:
      the division result, rounded according to the rules of the specific implementation
      See Also:
    • getDivisionPrecision

      protected int getDivisionPrecision(BigDecimal dividend, BigDecimal divisor)
    • getMathContext

      protected MathContext getMathContext(int precision)