MathRound

이 함수는 가장 가까운 특정 정수 값으로 반올림된 값를 반환합니다.

double  MathRound(
   double  value      // 반올림될 값
   );

매개 변수

[in]  반올림 전 숫자 값.

반환값

값이 가장 가까운 정수로 반올림됩니다.

참고

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

 

예:

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