max()

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.

Syntax

 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)
numerische_Variable1
Bei der Eingabe kann es sich um eine beliebige der vorstehend gezeigten numerischen Variablen (oder um einen äquivalente Ausdruck) handeln (siehe 'Zuordnungskompatibilität in EGL).
numerische_Variable2
Bei der Eingabe kann es sich um eine beliebige der vorstehend gezeigten numerischen Variablen (oder um einen äquivalenten Ausdruck) handeln.
Ergebnis
Der größere der beiden Werte von 'numerische_Variable1' und 'numerische_Variable2'. Wenn es sich bei 'numerische_Variable1' um einen anderen Typ handelt als 'numerische_Variable2', ist der Typ des zurückgegebenen Werts der größere der beiden Typen (gemäß Bytezahl).

Beispiel

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'

Feedback