public final class Decimal15f extends AbstractImmutableDecimal<Scale15f,Decimal15f>
All methods for this class throw NullPointerException
when passed a
null
object reference for any input parameter.
Modifier and Type | Field and Description |
---|---|
static Decimal15f |
BILLIONTH
The
Decimal15f constant 10-9. |
static DecimalArithmetic |
DEFAULT_ARITHMETIC
Default arithmetic for
Decimal15f performing unchecked operations with rounding mode
HALF_UP . |
static DecimalArithmetic |
DEFAULT_CHECKED_ARITHMETIC
Default arithmetic for
Decimal15f performing checked operations with rounding mode
HALF_UP . |
static Decimal15f |
EIGHT
The
Decimal15f constant 8. |
static Factory15f |
FACTORY
Factory constant for
Decimal15f returned by getFactory() . |
static Decimal15f |
FIVE
The
Decimal15f constant 5. |
static Decimal15f |
FOUR
The
Decimal15f constant 4. |
static Decimal15f |
HALF
The
Decimal15f constant 0.5. |
static Decimal15f |
HUNDRED
The
Decimal15f constant 100. |
static Decimal15f |
HUNDREDTH
The
Decimal15f constant 0.01. |
static Decimal15f |
MAX_INTEGER_VALUE
A constant holding the maximum integer value a
Decimal15f
can have, 9223.000000000000000. |
static Decimal15f |
MAX_VALUE
A constant holding the maximum value a
Decimal15f can have,
9223.372036854775807. |
static Scale15f |
METRICS
Scale metrics constant for
Decimal15f returned by getScaleMetrics() . |
static Decimal15f |
MILLIONTH
The
Decimal15f constant 10-6. |
static Decimal15f |
MIN_INTEGER_VALUE
A constant holding the minimum integer value a
Decimal15f
can have, -9223.000000000000000. |
static Decimal15f |
MIN_VALUE
A constant holding the minimum value a
Decimal15f can have,
-9223.372036854775808. |
static Decimal15f |
MINUS_ONE
The
Decimal15f constant -1. |
static Decimal15f |
NINE
The
Decimal15f constant 9. |
static Decimal15f |
ONE
The
Decimal15f constant 1. |
static long |
ONE_UNSCALED
The unscaled long value that represents one.
|
static Decimal15f |
QUADRILLIONTH
The
Decimal15f constant 10-15. |
static int |
SCALE
Scale value 15 for
Decimal15f returned by getScale() . |
static Decimal15f |
SEVEN
The
Decimal15f constant 7. |
static Decimal15f |
SIX
The
Decimal15f constant 6. |
static Decimal15f |
TEN
The
Decimal15f constant 10. |
static Decimal15f |
TENTH
The
Decimal15f constant 0.1. |
static Decimal15f |
THOUSAND
The
Decimal15f constant 1000. |
static Decimal15f |
THOUSANDTH
The
Decimal15f constant 0.001. |
static Decimal15f |
THREE
The
Decimal15f constant 3. |
static Decimal15f |
TRILLIONTH
The
Decimal15f constant 10-12. |
static Decimal15f |
TWO
The
Decimal15f constant 2. |
static Decimal15f |
ULP
A constant holding the smallest positive value a
Decimal15f
can have, 10-15. |
static Decimal15f |
ZERO
The
Decimal15f constant zero. |
Constructor and Description |
---|
Decimal15f(String value)
Translates the string representation of a
Decimal into a
Decimal15f . |
Modifier and Type | Method and Description |
---|---|
protected Decimal15f |
create(long unscaled)
Returns a new
Decimal whose value is
(unscaled × 10-scale). |
protected Decimal15f[] |
createArray(int length)
Returns a new
Decimal array of the specified length . |
protected Decimal15f |
createOrAssign(long unscaled)
Returns this or a new
Decimal whose value is
(unscaled × 10-scale). |
protected DecimalArithmetic |
getDefaultArithmetic()
Returns the default arithmetic performing unchecked operations with
rounding mode
HALF_UP . |
protected DecimalArithmetic |
getDefaultCheckedArithmetic()
Returns the default arithmetic performing checked operations with
rounding mode
HALF_UP . |
Factory15f |
getFactory()
Returns the factory that can be used to create other Decimal values of the same scale as
this Decimal. |
protected DecimalArithmetic |
getRoundingDownArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
DOWN . |
protected DecimalArithmetic |
getRoundingFloorArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
FLOOR . |
protected DecimalArithmetic |
getRoundingHalfEvenArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
HALF_EVEN . |
protected DecimalArithmetic |
getRoundingUnnecessaryArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
UNNECESSARY . |
int |
getScale()
Returns the scale associated with this Decimal.
|
Scale15f |
getScaleMetrics()
Returns the metrics associated with the scale of this Decimal.
|
Multipliable15f |
multiplyExact()
Returns this
Decimal as a multipliable factor for typed
exact multiplication. |
protected Decimal15f |
self()
Returns
this decimal value as concrete implementation subtype. |
Decimal15f |
toImmutableDecimal()
If this
Decimal value is already an ImmutableDecimal it is simply returned. |
MutableDecimal15f |
toMutableDecimal()
If this
Decimal value is already a MutableDecimal it is simply returned. |
static Decimal15f |
valueOf(BigDecimal value)
Returns a
Decimal15f whose value is calculated by rounding
the specified BigDecimal argument to scale 15 using
HALF_UP rounding. |
static Decimal15f |
valueOf(BigDecimal value,
RoundingMode roundingMode)
Returns a
Decimal15f whose value is calculated by rounding
the specified BigDecimal argument to scale 15 using
the specified roundingMode . |
static Decimal15f |
valueOf(BigInteger value)
Returns a
Decimal15f whose value is numerically equal to that of
the specified BigInteger value. |
static Decimal15f |
valueOf(Decimal<?> value)
|
static Decimal15f |
valueOf(Decimal<?> value,
RoundingMode roundingMode)
Returns a
Decimal15f whose value is calculated by rounding
the specified Decimal argument to scale 15 using
the specified roundingMode . |
static Decimal15f |
valueOf(double value)
Returns a
Decimal15f whose value is calculated by
rounding the specified double argument to scale 15
using HALF_UP rounding. |
static Decimal15f |
valueOf(double value,
RoundingMode roundingMode)
Returns a
Decimal15f whose value is calculated by
rounding the specified double argument to scale 15
using the specified roundingMode . |
static Decimal15f |
valueOf(float value)
Returns a
Decimal15f whose value is calculated by
rounding the specified float argument to scale 15
using HALF_UP rounding. |
static Decimal15f |
valueOf(float value,
RoundingMode roundingMode)
Returns a
Decimal15f whose value is calculated by
rounding the specified float argument to scale 15
using the specified roundingMode . |
static Decimal15f |
valueOf(long value)
Returns a
Decimal15f whose value is numerically equal to
that of the specified long value. |
static Decimal15f |
valueOf(String value)
Translates the string representation of a
Decimal into a
Decimal15f . |
static Decimal15f |
valueOf(String value,
RoundingMode roundingMode)
Translates the string representation of a
Decimal into a
Decimal15f . |
static Decimal15f |
valueOfUnscaled(long unscaledValue)
Returns a
Decimal15f whose value is numerically equal to
(unscaledValue × 10-15). |
static Decimal15f |
valueOfUnscaled(long unscaledValue,
int scale)
Returns a
Decimal15f whose value is numerically equal to
(unscaledValue × 10-scale). |
static Decimal15f |
valueOfUnscaled(long unscaledValue,
int scale,
RoundingMode roundingMode)
Returns a
Decimal15f whose value is numerically equal to
(unscaledValue × 10-scale). |
max, min, multiplyExact, scale, scale, scale, scale, toString, unscaledValue
abs, abs, add, add, add, add, add, add, add, add, addSquared, addSquared, addSquared, addUnscaled, addUnscaled, addUnscaled, addUnscaled, addUnscaled, avg, avg, byteValueExact, compareTo, compareToNumerically, divide, divide, divide, divide, divide, divide, divide, divide, divideAndRemainder, divideAndRemainder, divideBy, divideBy, divideBy, divideByPowerOfTen, divideByPowerOfTen, divideByPowerOfTen, divideExact, divideToIntegralValue, divideToIntegralValue, divideToLongValue, divideToLongValue, divideTruncate, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, doubleValue, doubleValue, equals, floatValue, floatValue, fractionalPart, getArithmeticFor, getArithmeticFor, getArithmeticFor, getCheckedArithmeticFor, hashCode, integralPart, intValue, intValueExact, invert, invert, invert, isBetweenZeroAndMinusOne, isBetweenZeroAndOne, isEqualTo, isEqualToNumerically, isGreaterThan, isGreaterThanOrEqualTo, isIntegral, isIntegralPartZero, isLessThan, isLessThanOrEqualTo, isMinusOne, isNegative, isNonNegative, isNonPositive, isOne, isPositive, isUlp, isZero, longValue, longValue, longValueExact, max, max, min, min, multiply, multiply, multiply, multiply, multiply, multiply, multiply, multiplyBy, multiplyBy, multiplyBy, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, negate, negate, pow, pow, pow, remainder, round, round, round, shiftLeft, shiftLeft, shiftLeft, shiftRight, shiftRight, shiftRight, shortValueExact, signum, sqrt, sqrt, square, square, square, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtractSquared, subtractSquared, subtractSquared, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled, toBigDecimal, toBigDecimal, toBigInteger, toBigInteger, toBigIntegerExact
byteValue, shortValue
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
abs, abs, add, add, add, add, add, add, add, add, addSquared, addSquared, addSquared, addUnscaled, addUnscaled, addUnscaled, addUnscaled, addUnscaled, avg, avg, divide, divide, divide, divide, divide, divide, divide, divide, divideAndRemainder, divideAndRemainder, divideBy, divideBy, divideBy, divideByPowerOfTen, divideByPowerOfTen, divideByPowerOfTen, divideExact, divideToIntegralValue, divideToIntegralValue, divideTruncate, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, fractionalPart, integralPart, invert, invert, invert, multiply, multiply, multiply, multiply, multiply, multiply, multiply, multiplyBy, multiplyBy, multiplyBy, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, negate, negate, pow, pow, pow, remainder, round, round, round, shiftLeft, shiftLeft, shiftLeft, shiftRight, shiftRight, shiftRight, sqrt, sqrt, square, square, square, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtractSquared, subtractSquared, subtractSquared, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled
byteValue, byteValueExact, compareTo, compareToNumerically, divideToLongValue, divideToLongValue, doubleValue, doubleValue, equals, floatValue, floatValue, hashCode, intValue, intValueExact, isBetweenZeroAndMinusOne, isBetweenZeroAndOne, isEqualTo, isEqualToNumerically, isGreaterThan, isGreaterThanOrEqualTo, isIntegral, isIntegralPartZero, isLessThan, isLessThanOrEqualTo, isMinusOne, isNegative, isNonNegative, isNonPositive, isOne, isPositive, isUlp, isZero, longValue, longValue, longValueExact, max, min, shortValue, shortValueExact, signum, toBigDecimal, toBigDecimal, toBigInteger, toBigInteger, toBigIntegerExact
public static final int SCALE
Decimal15f
returned by getScale()
.public static final Scale15f METRICS
Decimal15f
returned by getScaleMetrics()
.public static final Factory15f FACTORY
Decimal15f
returned by getFactory()
.public static final DecimalArithmetic DEFAULT_ARITHMETIC
Decimal15f
performing unchecked operations with rounding mode
HALF_UP
.public static final DecimalArithmetic DEFAULT_CHECKED_ARITHMETIC
Decimal15f
performing checked operations with rounding mode
HALF_UP
.public static final long ONE_UNSCALED
public static final Decimal15f ZERO
Decimal15f
constant zero.public static final Decimal15f ULP
Decimal15f
can have, 10-15.public static final Decimal15f ONE
Decimal15f
constant 1.public static final Decimal15f TWO
Decimal15f
constant 2.public static final Decimal15f THREE
Decimal15f
constant 3.public static final Decimal15f FOUR
Decimal15f
constant 4.public static final Decimal15f FIVE
Decimal15f
constant 5.public static final Decimal15f SIX
Decimal15f
constant 6.public static final Decimal15f SEVEN
Decimal15f
constant 7.public static final Decimal15f EIGHT
Decimal15f
constant 8.public static final Decimal15f NINE
Decimal15f
constant 9.public static final Decimal15f TEN
Decimal15f
constant 10.public static final Decimal15f HUNDRED
Decimal15f
constant 100.public static final Decimal15f THOUSAND
Decimal15f
constant 1000.public static final Decimal15f MINUS_ONE
Decimal15f
constant -1.public static final Decimal15f HALF
Decimal15f
constant 0.5.public static final Decimal15f TENTH
Decimal15f
constant 0.1.public static final Decimal15f HUNDREDTH
Decimal15f
constant 0.01.public static final Decimal15f THOUSANDTH
Decimal15f
constant 0.001.public static final Decimal15f MILLIONTH
Decimal15f
constant 10-6.public static final Decimal15f BILLIONTH
Decimal15f
constant 10-9.public static final Decimal15f TRILLIONTH
Decimal15f
constant 10-12.public static final Decimal15f QUADRILLIONTH
Decimal15f
constant 10-15.public static final Decimal15f MAX_VALUE
Decimal15f
can have,
9223.372036854775807.public static final Decimal15f MAX_INTEGER_VALUE
Decimal15f
can have, 9223.000000000000000.public static final Decimal15f MIN_VALUE
Decimal15f
can have,
-9223.372036854775808.public static final Decimal15f MIN_INTEGER_VALUE
Decimal15f
can have, -9223.000000000000000.public Decimal15f(String value)
Decimal
into a
Decimal15f
. The string representation consists of an
optional sign, '+'
or '-'
, followed by a sequence of
zero or more decimal digits ("the integer"), optionally followed by a
fraction.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. If the fraction contains more than 15 digits, the
value is rounded using HALF_UP
rounding. An
exception is thrown if the value is too large to be represented as a
Decimal15f
.
value
- String value to convert into a Decimal15f
NumberFormatException
- if value
does not represent a valid Decimal
or if the value is too large to be represented as a
Decimal15f
public final Scale15f getScaleMetrics()
Decimal
long
value underlying this Decimal
.ScaleMetrics.getScale()
,
ScaleMetrics.getScaleFactor()
public final int getScale()
Decimal
long
value underlying this Decimal
.
If the scale is f
then the value represented by a Decimal
instance is
(unscaledValue × 10-f).
This method is a shortcut for getScaleMetrics().getScale()
.
Decimal.getScaleMetrics()
,
ScaleMetrics.getScale()
,
Decimal.unscaledValue()
public final Factory15f getFactory()
Decimal
this
Decimal.protected final Decimal15f self()
AbstractDecimal
this
decimal value as concrete implementation subtype.self
in class AbstractDecimal<Scale15f,Decimal15f>
this
protected final DecimalArithmetic getDefaultArithmetic()
AbstractDecimal
HALF_UP
.getDefaultArithmetic
in class AbstractDecimal<Scale15f,Decimal15f>
HALF_UP
rounding and UNCHECKED
overflow
modeprotected final DecimalArithmetic getDefaultCheckedArithmetic()
AbstractDecimal
HALF_UP
.getDefaultCheckedArithmetic
in class AbstractDecimal<Scale15f,Decimal15f>
HALF_UP
rounding and CHECKED
overflow modeprotected final DecimalArithmetic getRoundingDownArithmetic()
AbstractDecimal
DOWN
.getRoundingDownArithmetic
in class AbstractDecimal<Scale15f,Decimal15f>
DOWN
rounding and
UNCHECKED
overflow modeprotected final DecimalArithmetic getRoundingFloorArithmetic()
AbstractDecimal
FLOOR
.getRoundingFloorArithmetic
in class AbstractDecimal<Scale15f,Decimal15f>
FLOOR
rounding and
UNCHECKED
overflow modeprotected final DecimalArithmetic getRoundingHalfEvenArithmetic()
AbstractDecimal
HALF_EVEN
.getRoundingHalfEvenArithmetic
in class AbstractDecimal<Scale15f,Decimal15f>
HALF_UP
rounding and
UNCHECKED
overflow modeprotected final DecimalArithmetic getRoundingUnnecessaryArithmetic()
AbstractDecimal
UNNECESSARY
.getRoundingUnnecessaryArithmetic
in class AbstractDecimal<Scale15f,Decimal15f>
UNNECESSARY
rounding and UNCHECKED
overflow
modepublic static Decimal15f valueOf(long value)
Decimal15f
whose value is numerically equal to
that of the specified long
value. An exception is thrown if the
specified value is too large to be represented as a Decimal15f
.value
- long value to convert into a Decimal15f
Decimal15f
value numerically equal to the specified
long
valueIllegalArgumentException
- if value
is too large to be represented as a
Decimal15f
public static Decimal15f valueOf(float value)
Decimal15f
whose value is calculated by
rounding the specified float
argument to scale 15
using HALF_UP
rounding. An exception is thrown
if the specified value is too large to be represented as a Decimal15f
.value
- float value to convert into a Decimal15f
Decimal15f
calculated as: roundHALF_UP(value)IllegalArgumentException
- if value
is NaN or infinite or if the magnitude is
too large for the float to be represented as a Decimal15f
public static Decimal15f valueOf(float value, RoundingMode roundingMode)
Decimal15f
whose value is calculated by
rounding the specified float
argument to scale 15
using the specified roundingMode
. An exception is thrown
if the specified value is too large to be represented as a Decimal15f
.value
- float value to convert into a Decimal15f
roundingMode
- the rounding mode to apply during the conversion if necessaryDecimal15f
calculated as: round(value)IllegalArgumentException
- if value
is NaN or infinite or if the magnitude is
too large for the float to be represented as a Decimal15f
ArithmeticException
- if roundingMode==UNNECESSARY
and rounding is
necessarypublic static Decimal15f valueOf(double value)
Decimal15f
whose value is calculated by
rounding the specified double
argument to scale 15
using HALF_UP
rounding. An exception is thrown
if the specified value is too large to be represented as a Decimal15f
.value
- double value to convert into a Decimal15f
Decimal15f
calculated as: roundHALF_UP(value)IllegalArgumentException
- if value
is NaN or infinite or if the magnitude is
too large for the double to be represented as a Decimal15f
public static Decimal15f valueOf(double value, RoundingMode roundingMode)
Decimal15f
whose value is calculated by
rounding the specified double
argument to scale 15
using the specified roundingMode
. An exception is thrown
if the specified value is too large to be represented as a Decimal15f
.value
- double value to convert into a Decimal15f
roundingMode
- the rounding mode to apply during the conversion if necessaryDecimal15f
calculated as: round(value)IllegalArgumentException
- if value
is NaN or infinite or if the magnitude is
too large for the double to be represented as a Decimal15f
ArithmeticException
- if roundingMode==UNNECESSARY
and rounding is
necessarypublic static Decimal15f valueOf(BigInteger value)
Decimal15f
whose value is numerically equal to that of
the specified BigInteger
value. An exception is thrown if the
specified value is too large to be represented as a Decimal15f
.value
- BigInteger
value to convert into a Decimal15f
Decimal15f
value numerically equal to the specified big
integer valueIllegalArgumentException
- if value
is too large to be represented as a Decimal15f
public static Decimal15f valueOf(BigDecimal value)
Decimal15f
whose value is calculated by rounding
the specified BigDecimal
argument to scale 15 using
HALF_UP
rounding. An exception is thrown if the
specified value is too large to be represented as a Decimal15f
.value
- BigDecimal
value to convert into a Decimal15f
Decimal15f
calculated as: roundHALF_UP(value)IllegalArgumentException
- if value
is too large to be represented as a Decimal15f
public static Decimal15f valueOf(BigDecimal value, RoundingMode roundingMode)
Decimal15f
whose value is calculated by rounding
the specified BigDecimal
argument to scale 15 using
the specified roundingMode
. An exception is thrown if the
specified value is too large to be represented as a Decimal15f
.value
- BigDecimal
value to convert into a Decimal15f
roundingMode
- the rounding mode to apply during the conversion if necessaryDecimal15f
calculated as: round(value)IllegalArgumentException
- if value
is too large to be represented as a Decimal15f
ArithmeticException
- if roundingMode==UNNECESSARY
and rounding is
necessarypublic static Decimal15f valueOf(Decimal<?> value)
Decimal15f
whose value is calculated by rounding
the specified Decimal
argument to scale 15 using
HALF_UP
rounding. An exception is thrown if the
specified value is too large to be represented as a Decimal15f
.value
- Decimal value to convert into a Decimal15f
Decimal15f
calculated as: roundHALF_UP(value)IllegalArgumentException
- if value
is too large to be represented as a Decimal15f
public static Decimal15f valueOf(Decimal<?> value, RoundingMode roundingMode)
Decimal15f
whose value is calculated by rounding
the specified Decimal
argument to scale 15 using
the specified roundingMode
. An exception is thrown if the
specified value is too large to be represented as a Decimal15f
.value
- Decimal value to convert into a Decimal15f
roundingMode
- the rounding mode to apply during the conversion if necessaryDecimal15f
calculated as: round(value)IllegalArgumentException
- if value
is too large to be represented as a Decimal15f
ArithmeticException
- if roundingMode==UNNECESSARY
and rounding is
necessarypublic static Decimal15f valueOf(String value)
Decimal
into a
Decimal15f
. The string representation consists of an
optional sign, '+'
or '-'
, followed by a sequence of
zero or more decimal digits ("the integer"), optionally followed by a
fraction.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. If the fraction contains more than 15 digits, the
value is rounded using HALF_UP
rounding. An
exception is thrown if the value is too large to be represented as a
Decimal15f
.
value
- String value to convert into a Decimal15f
Decimal15f
calculated as: roundHALF_UP(value)NumberFormatException
- if value
does not represent a valid Decimal
or if the value is too large to be represented as a
Decimal15f
public static Decimal15f valueOf(String value, RoundingMode roundingMode)
Decimal
into a
Decimal15f
. The string representation consists of an
optional sign, '+'
or '-'
, followed by a sequence of
zero or more decimal digits ("the integer"), optionally followed by a
fraction.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. If the fraction contains more than 15 digits, the
value is rounded using the specified roundingMode
. An exception
is thrown if the value is too large to be represented as a Decimal15f
.
value
- String value to convert into a Decimal15f
roundingMode
- the rounding mode to apply if the fraction contains more than
15 digitsDecimal15f
calculated as: round(value)NumberFormatException
- if value
does not represent a valid Decimal
or if the value is too large to be represented as a
Decimal15f
ArithmeticException
- if roundingMode==UNNECESSARY
and rounding is
necessarypublic static Decimal15f valueOfUnscaled(long unscaledValue)
Decimal15f
whose value is numerically equal to
(unscaledValue × 10-15).unscaledValue
- unscaled value to convert into a Decimal15f
Decimal15f
calculated as:
unscaledValue × 10-15public static Decimal15f valueOfUnscaled(long unscaledValue, int scale)
Decimal15f
whose value is numerically equal to
(unscaledValue × 10-scale). The result is
rounded to scale 15 using HALF_UP
rounding. An exception is thrown if the specified value is too large
to be represented as a Decimal15f
.unscaledValue
- unscaled value to convert into a Decimal15f
scale
- the scale to apply to unscaledValue
Decimal15f
calculated as:
roundHALF_UP(unscaledValue × 10-scale)IllegalArgumentException
- if the specified value is too large to be represented as a
Decimal15f
public static Decimal15f valueOfUnscaled(long unscaledValue, int scale, RoundingMode roundingMode)
Decimal15f
whose value is numerically equal to
(unscaledValue × 10-scale). The result
is rounded to scale 15 using the specified roundingMode
.
An exception is thrown if the specified value is too large to be
represented as a Decimal15f
.unscaledValue
- unscaled value to convert into a Decimal15scale
- the scale to apply to unscaledValue
roundingMode
- the rounding mode to apply during the conversion if necessaryDecimal15f
calculated as:
round(unscaledValue × 10-scale)IllegalArgumentException
- if the specified value is too large to be represented as a Decimal15f
protected Decimal15f createOrAssign(long unscaled)
AbstractDecimal
Decimal
whose value is
(unscaled × 10-scale).
The returned value is a new instance if this decimal is an
ImmutableDecimal
. If it is a MutableDecimal
then its
internal state is altered and this
is returned as result now
representing (unscaled × 10-scale).
createOrAssign
in class AbstractDecimal<Scale15f,Decimal15f>
unscaled
- unscaled value to be returned as a Decimal
protected Decimal15f create(long unscaled)
AbstractDecimal
Decimal
whose value is
(unscaled × 10-scale).create
in class AbstractDecimal<Scale15f,Decimal15f>
unscaled
- unscaled value to be returned as a Decimal
protected Decimal15f[] createArray(int length)
AbstractDecimal
Decimal
array of the specified length
.createArray
in class AbstractDecimal<Scale15f,Decimal15f>
length
- the length of the array to returnnew D[length]
public Multipliable15f multiplyExact()
Decimal
as a multipliable factor for typed
exact multiplication. The second factor is passed to one of the
by(..)
methods of the returned multiplier. The scale of
the result is the sum of the scales of this
Decimal and the
second factor passed to the by(..)
method.
The method is similar to multiplyExact(Decimal)
but the result
is retrieved in exact typed form with the correct result scale.
For instance one can write:
Decimal17f product = this.multiplyExact().by(Decimal2f.FIVE);
public MutableDecimal15f toMutableDecimal()
Decimal
Decimal
value is already a MutableDecimal
it is simply returned. Otherwise a new mutable
value with the same scale and numerical value as this
Decimal is created and returned.this
if mutable and a new MutableDecimal
with the same scale and value as this
Decimal otherwisepublic Decimal15f toImmutableDecimal()
Decimal
Decimal
value is already an ImmutableDecimal
it is simply returned. Otherwise a new
immutable value with the same scale and numerical value as this
Decimal is created and returned.this
if immutable and a new ImmutableDecimal
with the same scale and value as
this
Decimal otherwise