@Immutable public final class SdkNumber extends Number implements Serializable
to create from a BigDecimal.,
to create from a BigInteger.,
to create from a double,
to create from a float.,
to create from a long.,
to create from a short.,
to create from an integer.,
to create from a Stringl,
Thus by doing this, this class is able to preserve arbitrary precison of any given number.
If {@link SdkNumber} is expected in a particular number format then its corresponding getter methods can be used.
Example for a {@link SdkNumber} created with {@link BigDecimal} the,
can be used.,
Serialized Form| Modifier and Type | Method and Description |
|---|---|
BigDecimal |
bigDecimalValue()
Gets the bigDecimalValue of the
SdkNumber. |
double |
doubleValue()
Gets the double value of the
SdkNumber. |
boolean |
equals(Object o) |
float |
floatValue()
Gets the float value of the
SdkNumber. |
static SdkNumber |
fromBigDecimal(BigDecimal bigDecimalValue)
Create
SdkNumber from a BigDecimal value. |
static SdkNumber |
fromBigInteger(BigInteger bigIntegerValue)
Create
SdkNumber from a BigInteger value. |
static SdkNumber |
fromDouble(double doubleValue)
Create
SdkNumber from a double Value. |
static SdkNumber |
fromFloat(float floatValue)
Create
SdkNumber from a float Value. |
static SdkNumber |
fromInteger(int integerValue)
Create
SdkNumber from a integer value. |
static SdkNumber |
fromLong(long longValue)
Create
SdkNumber from a long Value. |
static SdkNumber |
fromShort(short shortValue)
Create
SdkNumber from a long Value. |
static SdkNumber |
fromString(String stringValue)
Create
SdkNumber from a long Value. |
int |
hashCode() |
int |
intValue()
Gets the integer value of the
SdkNumber. |
long |
longValue()
Gets the long value of the
SdkNumber. |
String |
stringValue()
Gets the String value of the
SdkNumber. |
String |
toString() |
byteValue, shortValuepublic static SdkNumber fromInteger(int integerValue)
SdkNumber from a integer value.integerValue - Integer value.SdkNumber for the given int value.public static SdkNumber fromBigInteger(BigInteger bigIntegerValue)
SdkNumber from a BigInteger value.bigIntegerValue - BigInteger value.SdkNumber for the given BigInteger value.public static SdkNumber fromBigDecimal(BigDecimal bigDecimalValue)
SdkNumber from a BigDecimal value.bigDecimalValue - BigInteger value.SdkNumber for the given BigDecimal value.public static SdkNumber fromLong(long longValue)
SdkNumber from a long Value.longValue - long value.SdkNumber for the given long value.public static SdkNumber fromDouble(double doubleValue)
SdkNumber from a double Value.doubleValue - long value.SdkNumber for the given double value.public static SdkNumber fromShort(short shortValue)
SdkNumber from a long Value.shortValue - long value.SdkNumber for the given long value.public static SdkNumber fromFloat(float floatValue)
SdkNumber from a float Value.floatValue - float value.SdkNumber for the given float value.public static SdkNumber fromString(String stringValue)
SdkNumber from a long Value.stringValue - String value.SdkNumber for the given stringValue value.public int intValue()
SdkNumber.
If we do a intValue() for SdkNumber constructed
from float, double, long, BigDecimal, BigInteger number type then it
may result in loss of magnitude and a loss of precision.
The result may lose some of the least significant bits of the value.
Precision is not lost while getting a SdkNumber which was constructed as
lower precision number type like short, byte, integer.public long longValue()
SdkNumber.
If we do a longValue() for SdkNumber constructed from
float, double, BigDecimal, BigInteger number type then it
may result in loss of magnitude and a loss of precision.
Precision is not lost while getting a SdkNumber which was constructed from
lower precision type like short, byte, integer.public float floatValue()
SdkNumber.
If we do a floatValue() for SdkNumber constructed from
double, BigDecimal, BigInteger number type then it
may result in loss of magnitude and a loss of precision.
Precision is not lost while getting a SdkNumber which was constructed from
precision type like short, byte, integer, long.floatValue in class NumberSdkNumber.public double doubleValue()
SdkNumber.
If we do a doubleValue() for SdkNumber constructed from BigDecimal, BigInteger number type then it
may result in loss of magnitude and a loss of precision.
Precision is not lost while getting a SdkNumber which was constructed from
precision type like short, byte, integer, long, float.doubleValue in class NumberSdkNumber.public BigDecimal bigDecimalValue()
SdkNumber.
Precision is not lost in this case.
However bigDecimalValue cannot be performed on
a {SdkNumber} constructed from Float/Double Nan/Infinity.SdkNumberNumberFormatException - Exception in thrown if a SdkNumber was constructed asNan/Infinte number
of Double/FLoat type.Since we cannot convert NaN/Infinite numbers to BigDecimal.public String stringValue()
SdkNumber.Copyright © 2023. All rights reserved.