floorフロア関数

本ページには広告が含まれています。

numを負の無限大方向へ丸めます。

構文
  1. Double = floor( num )
引数
num (Double必須
丸め処理を行う値
戻り値
負の方向に丸めた値

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   num : 丸め処理を行う値 
// 【戻り値】
//   負の方向に丸めた値 
//////////////////////////////////////////////////
FUNCTION floor(num)
	RESULT = INT(num) + IIF(num < 0 AND num <> INT(num), -1, 0)
FEND

//////////////////////////////////////////////////
// 【引数】
//   expr : 評価する式 
//   truepart : 評価した式がTrueのときに返す値 
//   falsepart : 評価した式がFalseのときに返す値 
// 【戻り値】
//   truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき 
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

使い方

1.5-3.2をそれぞれ負の方向へ丸めた値を返します。

UWSC
PRINT floor(1.5)
PRINT floor(-3.2)
結果
プレーンテキスト
1
-4

INT関数との違い

UWSCには小数点以下を切り捨てる関数としてINT関数 (スクリプト関数)があります。正の数の場合INT関数 (スクリプト関数)floor関数は同じ処理を行いますが、負の数の場合は結果が変わります。INT関数 (スクリプト関数)0の方向へ丸めるのに対し、floor関数は負の無限大方向へ丸め処理を行います。

以下は3.14INT関数 (スクリプト関数)floor関数で丸めるプログラムです。

UWSC
DIM 3.14

PRINT INT(num)
PRINT floor(num)
結果
プレーンテキスト
3
3

以下は-3.14INT関数 (スクリプト関数)floor関数で丸めるプログラムです。

UWSC
DIM num = -3.14

PRINT INT(num)
PRINT floor(num)
結果
プレーンテキスト
-3
-4