Class BigDecimalMath


  • @GwtIncompatible
    public class BigDecimalMath
    extends 
    A class for arithmetic on that is not covered by its built-in methods.
    Since:
    30.0
    Author:
    Louis Wasserman
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static double  x,  mode)
      Returns x, rounded to a double with the specified rounding mode.
      • Methods inherited from class java.lang.

        , , , , , , , , , ,
    • Method Detail

      • roundToDouble

        public static double  x,
                                            mode)
        Returns x, rounded to a double with the specified rounding mode. If x is precisely representable as a double, its double value will be returned; otherwise, the rounding will choose between the two nearest representable values with mode.

        For the case of , HALF_UP, and HALF_EVEN, infinite double values are considered infinitely far away. For example, 2^2000 is not representable as a double, but roundToDouble(BigDecimal.valueOf(2).pow(2000), HALF_UP) will return Double.MAX_VALUE, not Double.POSITIVE_INFINITY.

        For the case of , this implementation uses the IEEE 754 default rounding mode: if the two nearest representable values are equally near, the one with the least significant bit zero is chosen. (In such cases, both of the nearest representable values are even integers; this method returns the one that is a multiple of a greater power of two.)

        Throws:
        - if mode is and x is not precisely representable as a double
        Since:
        30.0