The NORMALIZE_DECFLOAT function returns a decimal floating-point value equal to the input argument set to its simplest form; that is, a nonzero number with
trailing zeros in the coefficient has those zeros removed.
The schema is SYSIBM.
Returning a decimal floating-point value equal to the input argument set to its simplest form may require representing the number in normalized form by dividing
the coefficient by the appropriate power of ten and adjusting the exponent accordingly. A zero value has its exponent set to 0.
- expression
- An expression that returns a value of any built-in numeric data type. Arguments of type SMALLINT, INTEGER, REAL, DOUBLE, or DECIMAL(p,s),
where p <= 16, are converted to DECFLOAT(16) for processing. Arguments of type BIGINT or DECIMAL(p,s), where p > 16,
are converted to DECFLOAT(34) for processing.
The result of the function is a DECFLOAT(16) value if the data type of expression after conversion to decimal floating-point is DECFLOAT(16).
Otherwise, the result of the function is a DECFLOAT(34) value.
If the argument is a special decimal floating-point value, the result is the same special decimal floating-point value.
If the argument can be null, the result can be null; if the argument is null, the result is the null value.
Examples
The following examples show the values that are returned by the NORMALIZE_DECFLOAT function, given a variety of input decimal floating-point values:
NORMALIZE_DECFLOAT(DECFLOAT(2.1)) = 2.1
NORMALIZE_DECFLOAT(DECFLOAT(-2.0)) = -2
NORMALIZE_DECFLOAT(DECFLOAT(1.200)) = 1.2
NORMALIZE_DECFLOAT(DECFLOAT(-120)) = -1.2E+2
NORMALIZE_DECFLOAT(DECFLOAT(120.00)) = 1.2E+2
NORMALIZE_DECFLOAT(DECFLOAT(0.00)) = 0
NORMALIZE_DECFLOAT(-NAN) = -NaN
NORMALIZE_DECFLOAT(-INFINITY) = -Infinity
© Copyright IBM Corp.