MathFloor

下から最も近い整数値を返します。

double  MathFloor(
  double  val     // 数値
  );

パラメータ

val

[in]  数値

戻り値

val以下の最大の整数を表す数値

注意事項

MathFloor()の代わりにfloor()を使用できます。

 

例:

#define VALUES_TOTAL 31
 
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 変換用の変数を宣言する
  double value=0;                     // MathFloor変換用の実数
  int   floor_value=0;               // ここで結果を取得する
//--- 実数の小数増分の数によるループ
  for(int i=0; i<VALUES_TOTAL; i++)
    {
    //--- 数値を増やす
    //--- 下から最も近い整数値を取得する
    //--- 操作ログに制御値を表示する
    value+=0.1;
    floor_value=(int)MathFloor(NormalizeDouble(value,1));
    PrintFormat("value: %.1f, floor value: %d",value,floor_value);
     /*
     結果:
    value: 0.1, floor value: 0
    value: 0.2, floor value: 0
    value: 0.3, floor value: 0
    value: 0.4, floor value: 0
    value: 0.5, floor value: 0
    value: 0.6, floor value: 0
    value: 0.7, floor value: 0
    value: 0.8, floor value: 0
    value: 0.9, floor value: 0
    value: 1.0, floor value: 1
    value: 1.1, floor value: 1
    value: 1.2, floor value: 1
    value: 1.3, floor value: 1
    value: 1.4, floor value: 1
    value: 1.5, floor value: 1
    value: 1.6, floor value: 1
    value: 1.7, floor value: 1
    value: 1.8, floor value: 1
    value: 1.9, floor value: 1
    value: 2.0, floor value: 2
    value: 2.1, floor value: 2
    value: 2.2, floor value: 2
    value: 2.3, floor value: 2
    value: 2.4, floor value: 2
    value: 2.5, floor value: 2
    value: 2.6, floor value: 2
    value: 2.7, floor value: 2
    value: 2.8, floor value: 2
    value: 2.9, floor value: 2
    value: 3.0, floor value: 3
    value: 3.1, floor value: 3
     */
    }