Q
- The type of the quantity.final class DecimalQuantity<Q extends javax.measure.Quantity<Q>> extends AbstractQuantity<Q> implements java.io.Serializable
ComparableQuantity
that uses BigDecimal
as implementation of Number
, this object
is immutable. Note: all operations which involves Number
, this implementation will convert to BigDecimal
, and all operation of
BigDecimal will use MathContext.DECIMAL128
.AbstractQuantity
,
Quantity
,
ComparableQuantity
Modifier and Type | Field and Description |
---|---|
private static long |
serialVersionUID |
private java.math.BigDecimal |
value |
NONE, ONE
Constructor and Description |
---|
DecimalQuantity(java.math.BigDecimal value,
javax.measure.Unit<Q> unit) |
Modifier and Type | Method and Description |
---|---|
ComparableQuantity<Q> |
add(javax.measure.Quantity<Q> that) |
java.math.BigDecimal |
decimalValue(javax.measure.Unit<Q> unit,
java.math.MathContext ctx) |
ComparableQuantity<Q> |
divide(java.lang.Number that) |
ComparableQuantity<?> |
divide(javax.measure.Quantity<?> that) |
double |
doubleValue(javax.measure.Unit<Q> unit) |
java.math.BigDecimal |
getValue()
Returns the numeric value of the quantity.
|
ComparableQuantity<Q> |
inverse() |
boolean |
isBig() |
protected long |
longValue(javax.measure.Unit<Q> unit) |
ComparableQuantity<Q> |
multiply(java.lang.Number that) |
ComparableQuantity<?> |
multiply(javax.measure.Quantity<?> that) |
ComparableQuantity<Q> |
subtract(javax.measure.Quantity<Q> that) |
private java.math.BigDecimal |
toBigDecimal(java.lang.Number value) |
asType, compareTo, divide, equals, equals, floatValue, getUnit, hashCode, intValue, inverse, isEquivalentTo, isGreaterThan, isGreaterThanOrEqualTo, isLessThan, isLessThanOrEqualTo, multiply, parse, to, to, toSI, toString
private static final long serialVersionUID
private final java.math.BigDecimal value
public DecimalQuantity(java.math.BigDecimal value, javax.measure.Unit<Q> unit)
public java.math.BigDecimal getValue()
AbstractQuantity
getValue
in interface javax.measure.Quantity<Q extends javax.measure.Quantity<Q>>
getValue
in interface tec.uom.lib.common.function.ValueSupplier<java.lang.Number>
getValue
in class AbstractQuantity<Q extends javax.measure.Quantity<Q>>
public double doubleValue(javax.measure.Unit<Q> unit)
doubleValue
in class AbstractQuantity<Q extends javax.measure.Quantity<Q>>
public java.math.BigDecimal decimalValue(javax.measure.Unit<Q> unit, java.math.MathContext ctx) throws java.lang.ArithmeticException
decimalValue
in class AbstractQuantity<Q extends javax.measure.Quantity<Q>>
java.lang.ArithmeticException
public ComparableQuantity<Q> add(javax.measure.Quantity<Q> that)
public ComparableQuantity<Q> subtract(javax.measure.Quantity<Q> that)
public ComparableQuantity<?> multiply(javax.measure.Quantity<?> that)
public ComparableQuantity<Q> multiply(java.lang.Number that)
public ComparableQuantity<Q> divide(java.lang.Number that)
public ComparableQuantity<Q> inverse()
protected long longValue(javax.measure.Unit<Q> unit)
longValue
in class AbstractQuantity<Q extends javax.measure.Quantity<Q>>
public boolean isBig()
isBig
in class AbstractQuantity<Q extends javax.measure.Quantity<Q>>
public ComparableQuantity<?> divide(javax.measure.Quantity<?> that)
private java.math.BigDecimal toBigDecimal(java.lang.Number value)