MathFloor

함수는 그 이하에서 가장 가까운 정수 값을 반환합니다.

double  MathFloor(
   double  val     // number
   );

매개 변수

val

[in]  숫자값.

반환값

값보다 작거나 같은 가장 큰 정수를 나타내는 값입니다.

참고

MathFloor() 대신에 floor()를 사용하실 수 있습니다.

 

예:

#define VALUES_TOTAL 31
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 변환을 위한 변수 선언
   double value=0;                     // MathFloor 변환을 위한 실수
   int    floor_value=0;               // 여기서 결과를 얻음 here
//--- 실수의 소수점 증분 수만큼 루프에서
   for(int i=0i<VALUES_TOTALi++)
     {
//--- 숫자 값을 늘리고,
//--- 아래에서 가장 가까운 정수 값을 가져옵니다.
//--- 그리고 저널에 제어 값을 표시합니다.
      value+=0.1;
      floor_value=(int)MathFloor(NormalizeDouble(value,1));
      PrintFormat("value: %.1f, floor value: %d",value,floor_value);
      /*
     결과:
      value0.1floor value0
      value0.2floor value0
      value0.3floor value0
      value0.4floor value0
      value0.5floor value0
      value0.6floor value0
      value0.7floor value0
      value0.8floor value0
      value0.9floor value0
      value1.0floor value1
      value1.1floor value1
      value1.2floor value1
      value1.3floor value1
      value1.4floor value1
      value1.5floor value1
      value1.6floor value1
      value1.7floor value1
      value1.8floor value1
      value1.9floor value1
      value2.0floor value2
      value2.1floor value2
      value2.2floor value2
      value2.3floor value2
      value2.4floor value2
      value2.5floor value2
      value2.6floor value2
      value2.7floor value2
      value2.8floor value2
      value2.9floor value2
      value3.0floor value3
      value3.1floor value3
      */
     }