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] DecimalMeasurec = DecimalMeasure.valueOf("299792458 m/s"); DecimalMeasure milesPerHour = c.to(MILES_PER_HOUR, MathContext.DECIMAL128); System.out.println(milesPerHour); > 670616629.3843951324266284896206156 mph [/code] - See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DecimalMeasure(BigDecimal value, Unit<Q> unit)
Creates a decimal measure for the specified number stated in the specified unit.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double
doubleValue(Unit<Q> unit)
Returns the value of this measure stated in the specified unit as adouble
.Unit<Q>
getUnit()
Returns the measurement unit of this measure.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, 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>
DecimalMeasure<Q>valueOf(CharSequence csq)
Returns the decimal measure for the specified textual representation.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.
-
-
-
Constructor Detail
-
DecimalMeasure
public DecimalMeasure(BigDecimal value, Unit<Q> unit)
Creates a decimal measure for the specified number stated in the specified unit.
-
-
Method Detail
-
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 theBigDecimal
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 classMeasure<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 classMeasure<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 classMeasure<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(Unit, MathContext)
-
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 convertBigDecimal
values ornull
if none.- Returns:
- the measure stated in the specified unit.
- Throws:
ArithmeticException
- if the result is inexact but the rounding mode isMathContext.UNNECESSARY
ormathContext.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 adouble
. If the measure has too great a magnitude to be represented as adouble
, it will be converted toDouble.NEGATIVE_INFINITY
orDouble.POSITIVE_INFINITY
as appropriate.- Specified by:
doubleValue
in interfaceMeasurable<Q extends Quantity>
- Specified by:
doubleValue
in classMeasure<BigDecimal,Q extends Quantity>
- Parameters:
unit
- the unit in which this measure is stated.- Returns:
- the numeric value after conversion to type
double
.
-
-