public class DecimalMeasure<Q extends Quantity> extends Measure<java.math.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
Constructor and Description |
---|
DecimalMeasure(java.math.BigDecimal value,
Unit<Q> unit)
Creates a decimal measure for the specified number stated in the
specified unit.
|
Modifier and Type | Method and Description |
---|---|
double |
doubleValue(Unit<Q> unit)
Returns the value of this measure stated in the specified unit as
a
double . |
Unit<Q> |
getUnit()
Returns the measurement unit of this measure.
|
java.math.BigDecimal |
getValue()
Returns the measurement value of this measure.
|
DecimalMeasure<Q> |
to(Unit<Q> unit)
Returns the decimal measure equivalent to this measure but stated in the
specified unit.
|
DecimalMeasure<Q> |
to(Unit<Q> unit,
java.math.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.
|
static <Q extends Quantity> |
valueOf(java.math.BigDecimal decimal,
Unit<Q> unit)
Returns the decimal measure for the specified number stated in the
specified unit.
|
static <Q extends Quantity> |
valueOf(java.lang.CharSequence csq)
Returns the decimal measure for the specified textual representation.
|
public DecimalMeasure(java.math.BigDecimal value, Unit<Q> unit)
public static <Q extends Quantity> DecimalMeasure<Q> valueOf(java.math.BigDecimal decimal, Unit<Q> unit)
decimal
- the measurement value.unit
- the measurement unit.public static <Q extends Quantity> DecimalMeasure<Q> valueOf(java.lang.CharSequence csq)
BigDecimal
value, then
the unit if any (value and unit should be separated by white spaces).csq
- the decimal measure representation (including unit if any).java.lang.NumberFormatException
- if the specified character sequence is
not a valid representation of decimal measure.public Unit<Q> getUnit()
Measure
public java.math.BigDecimal getValue()
Measure
public DecimalMeasure<Q> to(Unit<Q> unit)
to
in class Measure<java.math.BigDecimal,Q extends Quantity>
unit
- the new measurement unit.java.lang.ArithmeticException
- if the converted measure value does not have
a terminating decimal expansionto(Unit, MathContext)
public DecimalMeasure<Q> to(Unit<Q> unit, java.math.MathContext mathContext)
unit
- the new measurement unit.mathContext
- the mathContext used to convert
BigDecimal
values or null
if none.java.lang.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.
public double doubleValue(Unit<Q> unit)
Measure
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.doubleValue
in interface Measurable<Q extends Quantity>
doubleValue
in class Measure<java.math.BigDecimal,Q extends Quantity>
unit
- the unit in which this measure is stated.double
.