Conversion classes for numeric data

Conversion classes for numeric data convert numeric data from the format used on the iSeries™ server (called server format in the following table) to the Java™ format.

Supported types are shown in the following table:

Numeric Type Description
AS400Bin2 Converts between a signed two-byte number in the server format to a Java Short object.
AS400Bin4 Converts between a signed four-byte number in the server format and a Java Integer object.
AS400ByteArray Converts between two byte arrays. This is useful because the converter correctly zero-fills and pads the target buffer.
AS400Float4 Converts between a signed four-byte floating point number in the server format and a Java Float object.
AS400Float8 Converts between a signed eight-byte floating point number in the server format and a Java Double object.
AS400PackedDecimal Converts between a packed-decimal number in the server format and a Java BigDecimal object.
AS400UnsignedBin2 Converts between an unsigned two-byte number in the server format and a Java Integer object.
AS400UnsignedBin4 Converts between an unsigned four-byte number in the server format and a Java Long object.
AS400ZonedDecimal Converts between a zoned-decimal number in the server format and a Java BigDecimal object.

Examples

The following examples show data conversions that use a numeric type in the server format and a Java int:

Example: Converting from the server format to a Java int

     // Create a buffer to hold the server data type. Assume the buffer is
     // filled with numeric data in the server format by data queues,
     // program call, and so on.
     byte[] data = new byte[100];

     // Create a converter for this server data type.
     AS400Bin4 bin4Converter = new AS400Bin4();

     // Convert from server type to Java object. The number starts at the
     // beginning of the buffer.
     Integer intObject = (Integer) bin4Converter.toObject(data,0);

     // Extract the simple Java type from the Java object.
     int i = intObject.intValue();

Example: Converting from a Java int to the server format

     // Create a Java object that contains the value to convert.
     Integer intObject = new Integer(22);

     // Create a converter for the server data type.
     AS400Bin4 bin4Converter = new AS400Bin4();

     // Convert from Java object to server data type.
     byte[] data = bin4Converter.toBytes(intObject);

     // Find out how many bytes of the buffer were filled with the
     // server value.
     int length = bin4Converter.getByteLength();