public final class Decimal128 extends Object implements Serializable
Modifier and Type | Field and Description |
---|---|
static Decimal128 |
NaN
A constant holding a Not-a-Number (NaN) value of type
Decimal128 . |
static Decimal128 |
NEGATIVE_INFINITY
A constant holding the negative infinity of type
Decimal128 . |
static Decimal128 |
NEGATIVE_NaN
A constant holding a negative Not-a-Number (-NaN) value of type
Decimal128 . |
static Decimal128 |
NEGATIVE_ZERO
A constant holding a negative zero value of type
Decimal128 . |
static Decimal128 |
POSITIVE_INFINITY
A constant holding the positive infinity of type
Decimal128 . |
static Decimal128 |
POSITIVE_ZERO
A constant holding a postive zero value of type
Decimal128 . |
Constructor and Description |
---|
Decimal128(BigDecimal value)
Constructs a Decimal128 value representing the given BigDecimal.
|
Decimal128(long value)
Constructs a Decimal128 value representing the given long.
|
Modifier and Type | Method and Description |
---|---|
BigDecimal |
bigDecimalValue()
Gets a BigDecimal that is equivalent to this Decimal128.
|
boolean |
equals(Object o)
Returns true if the encoded representation of this instance is the same as the encoded representation of
o . |
static Decimal128 |
fromIEEE754BIDEncoding(long high,
long low)
Create an instance with the given high and low order bits representing this Decimal128 as an IEEE 754-2008 128-bit decimal
floating point using the BID encoding scheme.
|
long |
getHigh()
Gets the high-order 64 bits of the IEEE 754-2008 128-bit decimal floating point encoding for this Decimal128, using the BID encoding
scheme.
|
long |
getLow()
Gets the low-order 64 bits of the IEEE 754-2008 128-bit decimal floating point encoding for this Decimal128, using the BID encoding
scheme.
|
int |
hashCode() |
boolean |
isFinite()
Returns true if this Decimal128 is finite.
|
boolean |
isInfinite()
Returns true if this Decimal128 is infinite.
|
boolean |
isNaN()
Returns true if this Decimal128 is Not-A-Number (NaN).
|
boolean |
isNegative()
Returns true if this Decimal128 is negative.
|
static Decimal128 |
parse(String value)
Returns a Decimal128 value representing the given String.
|
String |
toString()
Returns the String representation of the Decimal128 value.
|
public static final Decimal128 POSITIVE_INFINITY
Decimal128
. It is equal to the value return by
Decimal128.valueOf("Infinity")
.public static final Decimal128 NEGATIVE_INFINITY
Decimal128
. It is equal to the value return by
Decimal128.valueOf("-Infinity")
.public static final Decimal128 NEGATIVE_NaN
Decimal128
. It is equal to the value return by
Decimal128.valueOf("-NaN")
.public static final Decimal128 NaN
Decimal128
. It is equal to the value return by
Decimal128.valueOf("NaN")
.public static final Decimal128 POSITIVE_ZERO
Decimal128
. It is equal to the value return by
Decimal128.valueOf("0")
.public static final Decimal128 NEGATIVE_ZERO
Decimal128
. It is equal to the value return by
Decimal128.valueOf("-0")
.public Decimal128(long value)
value
- the Decimal128 value represented as a longpublic Decimal128(BigDecimal value)
value
- the Decimal128 value represented as a BigDecimalNumberFormatException
- if the value is out of the Decimal128 rangepublic static Decimal128 parse(String value)
value
- the Decimal128 value represented as a StringNumberFormatException
- if the value is out of the Decimal128 rangepublic static Decimal128 fromIEEE754BIDEncoding(long high, long low)
high
- the high-order 64 bitslow
- the low-order 64 bitspublic long getHigh()
public long getLow()
public BigDecimal bigDecimalValue()
ArithmeticException
- if the Decimal128 value is NaN, Infinity, -Infinity, or -0, none of which can be represented as a
BigDecimalpublic boolean isNegative()
public boolean isInfinite()
public boolean isFinite()
public boolean isNaN()
public boolean equals(Object o)
o
.
One consequence is that, whereas Double.NaN != Double.NaN
,
new Decimal128("NaN").equals(new Decimal128("NaN")
returns true.
Another consequence is that, as with BigDecimal, new Decimal128("1.0").equals(new Decimal128("1.00")
returns false,
because the precision is not the same and therefore the representation is not the same.
public String toString()
toString
in class Object