MathRound

指定された数値の最も近い整数に丸めた値を返します。

double  MathRound(
  double  value      // 丸められる値
  );

パラメータ

value

[in]  丸める前の数値

戻り値

最も近い整数に丸めた値

注意事項

MathRound()の代わりにround()を使用できます。

 

例:

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