public class AS400DecFloat extends java.lang.Object implements AS400DataType
TYPE_ARRAY, TYPE_BIN1, TYPE_BIN2, TYPE_BIN4, TYPE_BIN8, TYPE_BYTE_ARRAY, TYPE_DATE, TYPE_DECFLOAT, TYPE_FLOAT4, TYPE_FLOAT8, TYPE_PACKED, TYPE_STRUCTURE, TYPE_TEXT, TYPE_TIME, TYPE_TIME_OF_DAY, TYPE_TIMESTAMP, TYPE_UBIN1, TYPE_UBIN2, TYPE_UBIN4, TYPE_UBIN8, TYPE_VARCHAR, TYPE_ZONED
Constructor and Description |
---|
AS400DecFloat(int numDigits)
Constructs an AS400DecFloat object.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Creates a new AS400DecFloat object that is identical to the current instance.
|
int |
getByteLength()
Returns the byte length of the data type.
|
java.lang.Object |
getDefaultValue()
Returns a Java object representing the default value of the data type.
|
int |
getInstanceType()
Returns instance type
|
java.lang.Class |
getJavaType()
Returns the Java class that corresponds with this data type.
|
int |
getNumberOfDigits()
Returns the total number of digits in the decfloat number.
|
static java.math.BigDecimal |
roundByMode(java.math.BigDecimal bd,
int precision,
java.lang.String roundingMode)
Rounds the precision of a BigDecimal by removing least significant digits from
the right side of the precision.
|
byte[] |
toBytes(double doubleValue)
Converts the specified Java object to server format.
|
int |
toBytes(double doubleValue,
byte[] as400Value)
Converts the specified Java object into server format in
the specified byte array.
|
int |
toBytes(double doubleValue,
byte[] as400Value,
int offset)
Converts the specified Java object into server format in the specified byte array.
|
byte[] |
toBytes(java.lang.Object javaValue)
Converts the specified Java object to server format.
|
int |
toBytes(java.lang.Object javaValue,
byte[] as400Value)
Converts the specified Java object into server format in the specified byte array.
|
int |
toBytes(java.lang.Object javaValue,
byte[] as400Value,
int offset)
Converts the specified Java object into server format in the specified byte array.
|
double |
toDouble(byte[] as400Value)
Converts the specified server data type to a Java double value.
|
double |
toDouble(byte[] as400Value,
int offset)
Converts the specified server data type to a Java double value.
|
java.lang.Object |
toObject(byte[] as400Value)
Converts the specified server data type to a Java object.
|
java.lang.Object |
toObject(byte[] as400Value,
int offset)
Converts the specified server data type to a Java object (BigDecimal).
|
public AS400DecFloat(int numDigits)
numDigits
- The number of digits (16 or 34).public java.lang.Object clone()
clone
in interface AS400DataType
clone
in class java.lang.Object
public int getByteLength()
getByteLength
in interface AS400DataType
public java.lang.Object getDefaultValue()
getDefaultValue
in interface AS400DataType
public int getInstanceType()
getInstanceType
in interface AS400DataType
public java.lang.Class getJavaType()
getJavaType
in interface AS400DataType
public int getNumberOfDigits()
public byte[] toBytes(java.lang.Object javaValue)
toBytes
in interface AS400DataType
javaValue
- The object corresponding to the data type. It must be an instance of BigDecimal and the BigDecimal must have a less than or equal to number of digits.public int toBytes(java.lang.Object javaValue, byte[] as400Value)
toBytes
in interface AS400DataType
javaValue
- The object corresponding to the data type. It must be an instance of BigDecimal and the BigDecimal must have a less than or equal to number of digits.as400Value
- The array to receive the data type in server format. There must be enough space to hold the server value.public int toBytes(java.lang.Object javaValue, byte[] as400Value, int offset)
toBytes
in interface AS400DataType
javaValue
- An object corresponding to the data type. It must be an instance of BigDecimal or String (if value is "NaN", "Infinity", or "-Infinity").as400Value
- The array to receive the data type in server format. There must be enough space to hold the server value.offset
- The offset into the byte array for the start of the server value. It must be greater than or equal to zero.public byte[] toBytes(double doubleValue)
doubleValue
- The value to be converted to server format. If the decimal part
of this value needs to be truncated, it will be rounded based on
decfloat rounding mode property.public int toBytes(double doubleValue, byte[] as400Value)
doubleValue
- The value to be converted to server format. If the decimal part
of this value needs to be truncated, it will be rounded based on
decfloat rounding mode property.as400Value
- The array to receive the data type in server format. There must
be enough space to hold the server value.public int toBytes(double doubleValue, byte[] as400Value, int offset)
doubleValue
- The value to be converted to server format. If the decimal part
of this value needs to be truncated, it will be rounded based on
decfloat rounding mode property.as400Value
- The array to receive the data type in server format.
There must be enough space to hold the server value.offset
- The offset into the byte array for the start of the server value.
It must be greater than or equal to zero.public double toDouble(byte[] as400Value)
as400Value
- The array containing the data type in server format.
The entire data type must be represented.public double toDouble(byte[] as400Value, int offset)
as400Value
- The array containing the data type in server format.
The entire data type must be represented.offset
- The offset into the byte array for the start of the server value.
It must be greater than or equal to zero.public java.lang.Object toObject(byte[] as400Value)
toObject
in interface AS400DataType
as400Value
- The array containing the data type in server format. The entire data type must be represented.public java.lang.Object toObject(byte[] as400Value, int offset)
toObject
in interface AS400DataType
as400Value
- The array containing the data type in server format. The entire data type must be represented and the data type must have valid packed decimal format.offset
- The offset into the byte array for the start of the server value. It must be greater than or equal to zero.public static java.math.BigDecimal roundByMode(java.math.BigDecimal bd, int precision, java.lang.String roundingMode)
bd
- BigDecimal to truncate.precision
- to truncate bd to. (16 or 34)roundingMode
- to use when truncating