Package net.sf.jasperreports.engine.util
Class Java15BigDecimalHandler
- java.lang.Object
-
- net.sf.jasperreports.engine.util.Java15BigDecimalHandler
-
- All Implemented Interfaces:
BigDecimalHandler
public class Java15BigDecimalHandler extends Object implements BigDecimalHandler
BigDecimalHandlerimplementation 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:
BigDecimalUtils.divide(BigDecimal, BigDecimal),PROPERTY_MINIMUM_PRECISION
-
-
Field Summary
Fields Modifier and Type Field Description static StringPROPERTY_MINIMUM_PRECISIONAn integer property that provides the minimum precision to be used for division operations.
-
Constructor Summary
Constructors Constructor Description Java15BigDecimalHandler()Java15BigDecimalHandler(int minPrecision)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BigDecimaldivide(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, andRoundingMode.HALF_UPas rounding mode.protected intgetDivisionPrecision(BigDecimal dividend, BigDecimal divisor)protected MathContextgetMathContext(int precision)
-
-
-
Field Detail
-
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:
- Constant Field Values
-
-
Method Detail
-
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, andRoundingMode.HALF_UPas rounding mode.- Specified by:
dividein interfaceBigDecimalHandler- Parameters:
dividend- the dividenddivisor- the divisor- Returns:
- the division result, rounded according to the rules of the specific implementation
- See Also:
PROPERTY_MINIMUM_PRECISION
-
getDivisionPrecision
protected int getDivisionPrecision(BigDecimal dividend, BigDecimal divisor)
-
getMathContext
protected MathContext getMathContext(int precision)
-
-