ZONE

Use ZONE to convert a number to a zoned (signed) number.

The ZONE function converts a signed integer item to a text item that can be interpreted as a number with a superimposed sign in the rightmost byte (called zoned or signed).

You can define items as having a zoned character number presentation. Then, when mapping to or from these items, the conversion to and from zoned decimal is performed automatically, as needed.

Syntax:
ZONE ( single-integer-expression , single-integer-expression )
Meaning:
ZONE ( integer_to_convert , sign_indicator )
Returns:
A single text item

ZONE returns a text string that represents a zoned (signed) number representing integer_to_convert.

Zoned integers have a sequence of digits except for the rightmost byte. The rightmost byte is a digit with a super-imposed sign. The sign_indicator specifies whether a super-imposed sign is required for positive integers, where 0 specifies no sign is required and any other value specifies that a sign is required for positive integers.

The following tables show positive and negative values of the numbers 1230 to 1239, with a sign indicator of 0 (no sign is required for positive values) or a sign of 1 (include a sign for both positive and negative values) in the rightmost byte.

Table 1. Positive Zoned Values
Integer Value sign_indicator = 0 sign_indicator = 1
1230 1230 123{
1231 1231 123A
1232 1232 123B
1233 1233 123C
1234 1234 123D
1235 1235 123E
1236 1236 123F
1237 1237 123G
1238 1238 123H
1239 1239 123I
Table 2. Negative Zoned Values
Integer Value sign_indicator = 0 sign_indicator = 1
-1230 123} 123}
-1231 123J 123J
-1232 123K 123K
-1233 123L 123L
-1234 123M 123M
-1235 123N 123N
-1236 123O 123O
-1237 123P 123P
-1238 123Q 123Q
-1239 123R 123R

Examples

  • ZONE ( 1234 , 0 )

    Returns 1234

  • ZONE ( 1234 , 1 )

    Returns 123D

  • ZONE ( -1234 , 1 )

    Returns 123M

  • ZONE ( INT ( UnitPrice * 100 ) , 1 )

    UnitPrice is multiplied by 100 to move the first two decimal places to the left of the decimal sign. The result of this calculation is converted to an integer using the INT function. Finally, the result of the INT is converted to zoned format, using a sign for positive values.

Related function

  • UNZONE