Die Systemfunktion 'mathLib.max()' gibt die größere von zwei Zahlen (oder den größeren von zwei numerischen Ausdrücken) zurück.
Wenn die zwei Zahlen einen unterschiedlichen Typ aufweisen, stuft EGL den kleineren Typ (gemäß Bytezahl) auf den größeren hoch. Wenn Sie beispielsweise einen Wert vom Typ BIGINT mit einem Wert vom Typ FLOAT vergleichen, vergleicht EGL die Zahlen als FLOAT-Werte und gibt die größere als FLOAT zurück. Wenn Sie anschließend den Rückgabewert einer Nicht-Gleitkommavariablen (die also nicht vom Typ FLOAT ist) zuordnen, kann es möglicherweise zu einem Rundungsfehler kommen.
mathLib.max(
numerische_Variable1 SMALLINT | INT | BIGINT |
DECIMAL | SMALLFLOAT | FLOAT in,
numerische_Variable2 SMALLINT | INT | BIGINT |
DECIMAL | SMALLFLOAT | FLOAT in)
returns (Ergebnis SMALLINT | INT | BIGINT |
DECIMAL | SMALLFLOAT | FLOAT)
package com.companyb.customer;
Program calc2
Function main()
x DECIMAL(9,6) = 5.123456;
y FLOAT = 1.11111111111;
result ANY;
result = mathLib.max(x,y);
writeStdOut(result);
// Ergebnis = 5.123456, Typ ist FLOAT
end // Ende von 'main()'
end // Ende von 'program'