Package javax.measure

Class DecimalMeasure<Q extends Quantity>

java.lang.Object
javax.measure.Measure<BigDecimal,Q>
javax.measure.DecimalMeasure<Q>
All Implemented Interfaces:
Serializable, Comparable<Measurable<Q>>, Measurable<Q>

public class DecimalMeasure<Q extends Quantity> extends Measure<BigDecimal,Q>

This class represents a measure whose value is an arbitrary-precision decimal number.

When converting, applications may supply the java.math.Context:[code] DecimalMeasure c = DecimalMeasure.valueOf("299792458 m/s"); DecimalMeasure milesPerHour = c.to(MILES_PER_HOUR, MathContext.DECIMAL128); System.out.println(milesPerHour); > 670616629.3843951324266284896206156 mph [/code]

See Also:
  • Constructor Details

    • DecimalMeasure

      public DecimalMeasure(BigDecimal value, Unit<Q> unit)
      Creates a decimal measure for the specified number stated in the specified unit.
  • Method Details

    • valueOf

      public static <Q extends Quantity> DecimalMeasure<Q> valueOf(BigDecimal decimal, Unit<Q> unit)
      Returns the decimal measure for the specified number stated in the specified unit.
      Parameters:
      decimal - the measurement value.
      unit - the measurement unit.
    • valueOf

      public static <Q extends Quantity> DecimalMeasure<Q> valueOf(CharSequence csq)
      Returns the decimal measure for the specified textual representation. This method first reads the BigDecimal value, then the unit if any (value and unit should be separated by white spaces).
      Parameters:
      csq - the decimal measure representation (including unit if any).
      Throws:
      NumberFormatException - if the specified character sequence is not a valid representation of decimal measure.
    • getUnit

      public Unit<Q> getUnit()
      Description copied from class: Measure
      Returns the measurement unit of this measure.
      Specified by:
      getUnit in class Measure<BigDecimal,Q extends Quantity>
      Returns:
      the measurement unit.
    • getValue

      public BigDecimal getValue()
      Description copied from class: Measure
      Returns the measurement value of this measure.
      Specified by:
      getValue in class Measure<BigDecimal,Q extends Quantity>
      Returns:
      the measurement value.
    • to

      public DecimalMeasure<Q> to(Unit<Q> unit)
      Returns the decimal measure equivalent to this measure but stated in the specified unit. This method will raise an ArithmeticException if the resulting measure does not have a terminating decimal expansion.
      Specified by:
      to in class Measure<BigDecimal,Q extends Quantity>
      Parameters:
      unit - the new measurement unit.
      Returns:
      the measure stated in the specified unit.
      Throws:
      ArithmeticException - if the converted measure value does not have a terminating decimal expansion
      See Also:
    • to

      public DecimalMeasure<Q> to(Unit<Q> unit, MathContext mathContext)
      Returns the decimal measure equivalent to this measure but stated in the specified unit, the conversion is performed using the specified math context.
      Parameters:
      unit - the new measurement unit.
      mathContext - the mathContext used to convert BigDecimal values or null if none.
      Returns:
      the measure stated in the specified unit.
      Throws:
      ArithmeticException - if the result is inexact but the rounding mode is MathContext.UNNECESSARY or mathContext.precision == 0 and the quotient has a non-terminating decimal expansion.
    • doubleValue

      public double doubleValue(Unit<Q> unit)
      Description copied from class: Measure
      Returns the value of this measure stated in the specified unit as a double. If the measure has too great a magnitude to be represented as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.
      Specified by:
      doubleValue in interface Measurable<Q extends Quantity>
      Specified by:
      doubleValue in class Measure<BigDecimal,Q extends Quantity>
      Parameters:
      unit - the unit in which this measure is stated.
      Returns:
      the numeric value after conversion to type double.