max()

mathLib.max() システム関数は、2 つの数値 (または数式) のうち、大きい方の値を戻します。

2 つの数値が異なる型である場合、EGL は (バイト数の点で) 小さい方の型を大きい方の型にプロモートします。 例えば、BIGINT と FLOAT を比較した場合、EGL はこれらの数値を FLOAT として比較し、FLOAT として大きい方を戻します。 その後で戻り値を非浮動小数点変数に代入した場合、丸め誤差が生じる可能性があります。

構文

 mathLib.max(
    numericVariable1 SMALLINT | INT | BIGINT | 
               DECIMAL | SMALLFLOAT | FLOAT in,
    numericVariable2 SMALLINT | INT | BIGINT | 
               DECIMAL | SMALLFLOAT | FLOAT in)
  returns (result SMALLINT | INT | BIGINT | 
               DECIMAL | SMALLFLOAT | FLOAT)
numericVariable1
上記のいずれかの数値変数 (または同等の式) を入力することができます (『EGL における代入の互換性』を参照)。
numericVariable2
上記のいずれかの数値変数 (または同等の式) を入力することができます。
result
numericVariable1numericVariable2 の大きいほうの値。 numericVariable1numericVariable2 の型が異なる場合、 戻り値の型は、2 つの型のうち、(バイト数の点で) 大きい方の型になります。

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);
		// 結果 = 5.123456、型は FLOAT
	end  // main() 
end // program

フィードバック