Skip navigation links

Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.2.1)

Part Number E55141-01
P4 Change 1723563 on 2015/10/09


weblogic.wtc.jatmi
Class Decimal

java.lang.Object
  extended by java.lang.Number
      extended by weblogic.wtc.jatmi.Decimal

All Implemented Interfaces:
Serializable, Comparable

public class Decimal
extends Number
implements Comparable

This class provides a Java implementation of the Tuxedo packed decimal type. Packed decimals appear only in Tuxedo View buffers. The class methods provide convenience routines to create packed decimals from Strings and numbers and to convert a packed decimal object to a String or number. A Decimal encodes a number as an array of bytes in base-100 and a signed exponent (-64 to +63). The byte array is of fixed size with the implied decimal point to the left of the first byte. The exponent represents powers of 100. A special exponent value DECPOSNULL indicates a Decimal with null (undefined) value.

See Also:
Serialized Form

Field Summary
static int DECPOSNULL
          Exponent value indicating a null Decimal, i.e., a Decimal with undefined value.
static int DECSIZE
          Size of the array of bytes representing the digits of the Decimal.

 

Method Summary
 BigDecimal bigDecimalValue()
          Converts the Decimal to a BigDecimal value.
 byte byteValue()
          Converts the Decimal to a byte value.
 int compareTo(Decimal other)
          Compares two Decimal objects numerically.
 int compareTo(Object other)
          Compares this Decimal object to another object.
 byte[] digits()
          Returns the actual decimal digits.
 double doubleValue()
          Converts the Decimal to a double value.
 boolean equals(Object obj)
          Compares this object to another object.
 int exponent()
          Returns the exponent of the Decimal value.
 float floatValue()
          Converts the Decimal to a float value.
 int intValue()
          Converts the Decimal to an int value.
 long longValue()
          Converts the Decimal to a long value.
 Decimal negate()
          Creates a newly allocated Decimal whose value is (-this).
 int numDigits()
          Returns the number of significant digits in the Decimal value.
 short shortValue()
          Converts the Decimal to a short value.
 int sign()
          Returns the sign of the Decimal value.
 String toString()
          Converts the Decimal to a String.
static String toString(Decimal dec)
          Converts the input Decimal to a String.
static Decimal valueOf(String s)
          Constructs a newly allocated Decimal object from a String value.

 

Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Field Detail

DECSIZE

public static final int DECSIZE
Size of the array of bytes representing the digits of the Decimal.
See Also:
Constant Field Values

DECPOSNULL

public static final int DECPOSNULL
Exponent value indicating a null Decimal, i.e., a Decimal with undefined value. Null Decimals cannot be compared numerically with other Decimals.
See Also:
Constant Field Values

Method Detail

exponent

public int exponent()
Returns the exponent of the Decimal value. The exponent represents powers of 100.
Returns:
the exponent, from -64 to +63.

sign

public int sign()
Returns the sign of the Decimal value.
Returns:
The sign of the value; 1 indicates a positive value, 0 a negative value and DECPOSNULL a null value.
See Also:
Decimal.DECPOSNULL

numDigits

public int numDigits()
Returns the number of significant digits in the Decimal value.
Returns:
the number of significant digits in the Decimal value.

digits

public byte[] digits()
Returns the actual decimal digits. Each digit is in base-100.
Returns:
an array of bytes representing the actual decimal digits. The decimal point is to the left of the first digit.

negate

public Decimal negate()
Creates a newly allocated Decimal whose value is (-this).
Returns:
a Decimal whose value is (-this). If the original Decimal has a null value, that is, its sign is DECPOSNULL, a new null Decimal is returned.
See Also:
Decimal.DECPOSNULL

bigDecimalValue

public BigDecimal bigDecimalValue()
Converts the Decimal to a BigDecimal value.
Returns:
the BigDecimal value representing the Decimal. If the Decimal has a null value, a new BigDecimal(Double.MIN_VALUE) is returned.

doubleValue

public double doubleValue()
Converts the Decimal to a double value.
Specified by:
doubleValue in class Number
Returns:
the double value representing the Decimal. If the Decimal has a null value, Double.MIN_VALUE is returned.

floatValue

public float floatValue()
                 throws NumberFormatException
Converts the Decimal to a float value.
Specified by:
floatValue in class Number
Returns:
the float value representing the Decimal. If the Decimal has a null value, Float.MIN_VALUE is returned.
Throws:
NumberFormatException - if the Decimal value would cause overflow when converted to a float.

longValue

public long longValue()
               throws NumberFormatException
Converts the Decimal to a long value.
Specified by:
longValue in class Number
Returns:
the long value representing the Decimal. If the Decimal has a null value, Long.MIN_VALUE is returned.
Throws:
NumberFormatException - if the Decimal value cannot be represented as a long.

intValue

public int intValue()
             throws NumberFormatException
Converts the Decimal to an int value.
Specified by:
intValue in class Number
Returns:
the int value representing the Decimal. If the Decimal has a null value, Integer.MIN_VALUE is returned.
Throws:
NumberFormatException - if the Decimal value cannot be represented as an int.

shortValue

public short shortValue()
                 throws NumberFormatException
Converts the Decimal to a short value.
Overrides:
shortValue in class Number
Returns:
the short value representing the Decimal. If the Decimal has a null value, Short.MIN_VALUE is returned.
Throws:
NumberFormatException - if the Decimal value cannot be represented as a short.

byteValue

public byte byteValue()
               throws NumberFormatException
Converts the Decimal to a byte value.
Overrides:
byteValue in class Number
Returns:
the byte value representing the Decimal. If the Decimal has a null value, Byte.MIN_VALUE is returned.
Throws:
NumberFormatException - if the Decimal value cannot be represented as a byte.

toString

public String toString()
                throws NumberFormatException
Converts the Decimal to a String. The String is in the format that the Java Double.toString method would generate for an equivalent double value.
Overrides:
toString in class Object
Returns:
the String value representing the Decimal.
Throws:
NumberFormatException - if the Decimal value cannot be represented as a double.

toString

public static String toString(Decimal dec)
                       throws NumberFormatException
Converts the input Decimal to a String. The String is in the format that the Java Double.toString method would generate for an equivalent double value.
Parameters:
dec - the Decimal object to convert.
Returns:
the String value representing the Decimal.
Throws:
NumberFormatException - if the Decimal value cannot be represented as a double.

valueOf

public static Decimal valueOf(String s)
                       throws NumberFormatException
Constructs a newly allocated Decimal object from a String value. The String is converted to a Decimal value. The String must be in the format accepted by the Java Double.parseDouble method.
Parameters:
s - the String value to convert.
Returns:
the Decimal value created
Throws:
NumberFormatException - if the value is in the wrong format or would overflow or underflow when converted to Decimal.

compareTo

public int compareTo(Object other)
              throws NumberFormatException
Compares this Decimal object to another object. If the other object is a Decimal, this function behaves like compareTo(Decimal). Otherwise, it throws a ClassCastException.
Specified by:
compareTo in interface Comparable
Parameters:
other - the other object to compare
Returns:
the value 0 if the two objects are numerically equal; the value -1 if the current object is numerically less than the other; the value 1 if the current object is numerically greater than the other.
Throws:
ClassCastException - if obj is not a Decimal
NumberFormatException - if either of the objects has a null value, that is, if their exponent is equal to DECPOSNULL.
See Also:
Decimal.DECPOSNULL

compareTo

public int compareTo(Decimal other)
              throws NumberFormatException
Compares two Decimal objects numerically. Neither object can have a null value.
Parameters:
other - a Decimal that is compared against this object.
Returns:
the value 0 if the two objects are numerically equal; the value -1 if the current object is numerically less than other; the value 1 if the current object is numerically greater than other.
Throws:
NumberFormatException - if either of the objects has a null value, that is, if their exponent is equal to DECPOSNULL.
See Also:
Decimal.DECPOSNULL

equals

public boolean equals(Object obj)
Compares this object to another object. The result is true if the other object is non-null and represents a Decimal object with the same value as the current object. The values are equal if the objects have identical bit patterns. Note that null valued Decimals may be compared in this operation (unlike compareTo(Decimal)).
Overrides:
equals in class Object
Parameters:
obj - the other object to compare
Returns:
true if the other object is a Decimal with the same value as the current object.

Skip navigation links

Copyright 1996, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.2.1)

Part Number E55141-01
P4 Change 1723563 on 2015/10/09