public class Num extends java.lang.Object implements java.lang.Cloneable, java.lang.Comparable<Num>, java.io.Serializable
NumConverter to implement
conversion logic from specific type to Num.| Constructor and Description |
|---|
Num()
Create Num instance with zero default value
|
Num(java.lang.Object value)
Create Num instance with value of given Object
|
Num(java.lang.Object value,
java.lang.Class<? extends NumConverter> converter)
Create Num instance with value of given Object
|
Num(java.lang.String value)
Create Num instance with value from String
|
Num(java.lang.String value,
char decimalSeparator)
Create Num instance with value from String which use defined decimal
separator
|
Num(java.lang.String name,
java.lang.Object value)
Create Num instance with specific name and value of given Object
|
Num(java.lang.String name,
java.lang.Object value,
java.lang.Class<? extends NumConverter> converter)
Create Num instance with specific name and value of given Object
|
Num(java.lang.String name,
java.lang.String value,
char decimalSeparator)
Create Num instance with specific name and value from String which use
defined decimal separator
|
| Modifier and Type | Method and Description |
|---|---|
Num |
abs()
Return new instance of Num with absolute value
|
byte |
byteValue() |
byte |
byteValueExact() |
Num |
ceil()
Return new instance of Num with ceil value.
|
Num |
clone() |
int |
compareTo(Num value2)
Compares this Num with the specified Num.
|
double |
doubleValue() |
boolean |
equals(java.math.BigDecimal obj) |
boolean |
equals(Num obj) |
boolean |
equals(java.lang.Object object)
Compares this Decimal (internally BigDecimal) with the specified
Object for equality.
|
float |
floatValue() |
Num |
floor()
Return new instance of Num with floor value e.g.
|
java.math.BigDecimal |
get()
Get BigDecimal without trailing zeros if
hasStripTrailingZeros() is TRUE
And set scale defined by properties |
java.math.BigDecimal |
get(int scale)
Get BigDecimal in defined scale, rounding mode and strip trailing zeros from properties
|
java.math.BigDecimal |
get(int scale,
Rounding roundingMode)
Return BigDecimal in defined scale with specified rounding mode
|
java.lang.String |
getFormated()
Get formated representation of number defined by
setOutputFormat(String) |
java.math.BigDecimal |
getFraction() |
int |
getFractionSize() |
java.lang.String |
getName()
Get name of this variable.
|
java.lang.Object |
getOriginalValue() |
Properties |
getProperties() |
Rounding |
getRoundingMode()
Gets the rounding mode for division operations The default is
RoundingMode.HALF_UP |
java.lang.Integer |
getScale()
Sets the scale for division operations.
|
boolean |
hasFraction() |
int |
hashCode()
Returns the hash code for this Decimal.
|
boolean |
hasStripTrailingZeros() |
int |
intValue() |
int |
intValueExact() |
boolean |
isEqual(Num value)
Compare if two number are equal regardless scale
|
boolean |
isEqual(java.lang.Object value)
Convert value to
Num then compare values regardles scale |
boolean |
isEqual(java.lang.Object value,
boolean autoscale)
Scale both value to scale of number which have minimum scale.
|
boolean |
isEqual(java.lang.Object value,
java.lang.Class<? extends NumConverter> converter) |
boolean |
isEqual(java.lang.Object value,
int scale)
Convert value to
Num, and scale both value before comparing them. |
boolean |
isEqual(java.lang.Object value,
int scale,
Rounding rounding)
Convert value to
Num, and scale both value before
comparing them. |
boolean |
isEqual(java.lang.String value)
Compare if two number are equal regardless scale
|
boolean |
isEqual(java.lang.String value,
char decimalSeparator)
Compare if two number are equal regardless scale
|
boolean |
isNegative() |
boolean |
isZero() |
long |
longValue() |
long |
longValueExact() |
Num |
set(java.lang.Object value) |
Num |
set(java.lang.Object value,
java.lang.Class<? extends NumConverter> converter) |
Num |
set(java.lang.String value) |
Num |
set(java.lang.String value,
char decimalSeparator) |
Num |
setName(java.lang.String name) |
Num |
setOutputFormat(java.lang.String format)
Set output format for number.
|
Num |
setProperties(Properties properties) |
Num |
setRoundingMode(Rounding roundingMode)
Sets the rounding mode for decimal divisions.
|
Num |
setScale(int scale)
Sets the scale for division operations.
|
Num |
setScale(int scale,
Rounding roundingMode)
Sets the scale and rounding mode for division operations.
|
Num |
setStripTrailingZeros(boolean stripTrailingZeros) |
short |
shortValue() |
short |
shortValueExact() |
int |
signum() |
static java.lang.String |
stripNumber(java.lang.String value,
char decimalSeparator)
Remove from string number representation all character except numbers and
decimal point.
|
java.math.BigDecimal |
toBigDecimal()
Return BigDecimal, same as
get() |
java.math.BigDecimal |
toBigDecimal(java.lang.Integer scale,
Rounding rounding,
boolean stripTrailingZeros)
Return BigDecimal
|
java.lang.String |
toEngineeringString() |
static Num |
toNum(java.lang.Object object) |
static Num |
toNum(java.lang.Object object,
java.lang.Class<? extends NumConverter> converter) |
static Num[] |
toNums(java.lang.Object... object) |
<T> T |
toObject(java.lang.Class<T> toClass)
Convert Num to defined custom object
|
<T> T |
toObject(java.lang.Class<T> toClass,
java.lang.Class<? extends NumConverter> converterClass)
Convert Num to defined custom object
|
<T> T |
toObject(java.lang.Class<T> toClass,
NumConverter numConverter)
Convert Num to defined custom object
|
java.lang.String |
toString() |
java.lang.String |
toString(char decimalSeparator) |
java.lang.String |
toString(java.lang.Character groupingSeparator,
char decimalSeparator) |
java.lang.String |
toString(java.lang.Character groupingSeparator,
char decimalSeparator,
java.lang.String format) |
java.lang.String |
toString(java.lang.String format)
Use properties (
getProperties()) grouping separator and decimal separator and specified format by rules of DecimalFormat
DecimalFormat e.g. |
java.lang.String |
toStringWithDetail() |
public Num()
public Num(java.lang.Object value)
value - that can be short, int, long, float, double, Short, Integer,
Long, Float, Double, BigInteger, BigDecimal, String or custom
object which need conversion with NumConverterpublic Num(java.lang.String name, java.lang.Object value)
name - used in expression with unknown valuevalue - that can be short, int, long, float, double, Short, Integer,
Long, Float, Double, BigInteger, BigDecimal, String or custom
object which need conversion with NumConverterpublic Num(java.lang.Object value, java.lang.Class<? extends NumConverter> converter)
value - that can be short, int, long, float, double, Short, Integer,
Long, Float, Double, BigInteger, BigDecimal, String or custom
object which need conversion with NumConverterconverter - class used for converting custom object.NumConverterpublic Num(java.lang.String name, java.lang.Object value, java.lang.Class<? extends NumConverter> converter)
name - used in expression with unknown valuevalue - that can be short, int, long, float, double, Short, Integer,
Long, Float, Double, BigInteger, BigDecimal, String or custom
object which need conversion with NumConverterconverter - class used for converting custom object.NumConverterpublic Num(java.lang.String value)
value - public Num(java.lang.String value, char decimalSeparator)
value - decimalSeparator - used in String valuepublic Num(java.lang.String name, java.lang.String value, char decimalSeparator)
name - used in expression with unknown valuevalue - decimalSeparator - used in String valuepublic Num set(java.lang.Object value)
public Num set(java.lang.Object value, java.lang.Class<? extends NumConverter> converter)
public Num set(java.lang.String value)
public Num set(java.lang.String value, char decimalSeparator)
public Num setName(java.lang.String name)
public java.lang.String getName()
public Properties getProperties()
public Num setProperties(Properties properties)
public Num setScale(int scale)
scale - scale for division operationspublic Num setScale(int scale, Rounding roundingMode)
scale - scale for division operationsroundingMode - rounding mode for division operationspublic java.lang.Integer getScale()
public Num setRoundingMode(Rounding roundingMode)
roundingMode - rounding mode for decimal divisionspublic Rounding getRoundingMode()
RoundingMode.HALF_UPpublic boolean hasStripTrailingZeros()
public Num setStripTrailingZeros(boolean stripTrailingZeros)
public Num setOutputFormat(java.lang.String format)
format - - DecimalFormat e.g. #,###,###,##0.00public java.math.BigDecimal toBigDecimal()
get()get()public java.math.BigDecimal toBigDecimal(java.lang.Integer scale,
Rounding rounding,
boolean stripTrailingZeros)
get()public java.math.BigDecimal get()
hasStripTrailingZeros() is TRUE
And set scale defined by propertiestoBigDecimal(),
toBigDecimal(Integer, Rounding, boolean)public java.math.BigDecimal get(int scale)
scale - public java.math.BigDecimal get(int scale,
Rounding roundingMode)
scale - roundingMode - public java.math.BigDecimal getFraction()
public int getFractionSize()
public boolean hasFraction()
public boolean isZero()
public boolean isNegative()
public <T> T toObject(java.lang.Class<T> toClass)
customObject - public <T> T toObject(java.lang.Class<T> toClass,
java.lang.Class<? extends NumConverter> converterClass)
customObject - public <T> T toObject(java.lang.Class<T> toClass,
NumConverter numConverter)
customObject - public java.lang.String toStringWithDetail()
public java.lang.String getFormated()
setOutputFormat(String)format - - DecimalFormat e.g. #,###,###,##0.00toString(Character groupingSeparator, char decimalSeparator),
toString(Character, char)public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toString(java.lang.String format)
getProperties()) grouping separator and decimal separator and specified format by rules of DecimalFormat
DecimalFormat e.g. #,###,###,##0.00format - public java.lang.String toString(char decimalSeparator)
public java.lang.String toString(java.lang.Character groupingSeparator,
char decimalSeparator)
public java.lang.String toString(java.lang.Character groupingSeparator,
char decimalSeparator,
java.lang.String format)
public java.lang.Object getOriginalValue()
public Num clone()
clone in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectequals(Object)public boolean isEqual(java.lang.String value)
value - compareTo(Num)public boolean isEqual(java.lang.String value,
char decimalSeparator)
value - compareTo(Num)public boolean isEqual(Num value)
e.g. 1254.5800 sameAs(1254.58) = true
1254.58 sameAs(1254.580) = true
1254.5848 sameAs(1254.58) = false
value - compareTo(Num)public boolean isEqual(java.lang.Object value)
Num then compare values regardles scalevalue - public boolean isEqual(java.lang.Object value,
int scale)
Num, and scale both value before comparing them.value - public boolean isEqual(java.lang.Object value,
boolean autoscale)
value - autoscale - public boolean isEqual(java.lang.Object value,
int scale,
Rounding rounding)
Num, and scale both value before
comparing them.value - public boolean isEqual(java.lang.Object value,
java.lang.Class<? extends NumConverter> converter)
public boolean equals(java.lang.Object object)
compareTo,
this method considers two Decimal objects equal only if they are
equal in value and scale (thus 2.0 is not equal to 2.00 when compared by
this method).equals in class java.lang.Objectobject - Object to which this Decimal is to be
compared.#compareTo(java.math.Num),
hashCode(),
#sameAspublic boolean equals(Num obj)
public boolean equals(java.math.BigDecimal obj)
public int compareTo(Num value2)
compareTo in interface java.lang.Comparable<Num>val - Decimal to which this Decimal is to be
compared.#evenpublic byte byteValue()
public byte byteValueExact()
public double doubleValue()
public float floatValue()
public int intValue()
public int intValueExact()
public long longValue()
public long longValueExact()
public short shortValue()
public short shortValueExact()
public int signum()
public java.lang.String toEngineeringString()
public Num abs()
public Num ceil()
public Num floor()
public static java.lang.String stripNumber(java.lang.String value,
char decimalSeparator)
("44,551.06", '.') => 44551.06
("1 255 844,551.06", '.') => 1255844551.06
("44,551..06", '.') => 44551.06
decimalSeparator - value - public static Num toNum(java.lang.Object object)
public static Num toNum(java.lang.Object object, java.lang.Class<? extends NumConverter> converter)
public static Num[] toNums(java.lang.Object... object)
JCalc API 2014 Davor Sauer - Apache 2.0