[EA作成小ネタ]double型の値の少数以下(指定桁以下)を切捨てたい

スポンサーリンク
ちょっと困った(悩んだ)ので備忘録を兼ねて、記載しておきます。

MQL4で、少数を整数にしたい(小数点以下をなくしたい)場合、四捨五入であれば、標準関数NormalizeDouble()を使えば簡単に行えるのですが、少数以下を切り捨てる関数がないようでした。

自分で処理(関数)を作成する必要がありました。


そこで、以下のような関数を作成してみました。
処理したい値を引数valueに入れると、引数digitsでした少数桁未満の桁をカットした値を返します。


// double型の値の指定の桁以下を切り捨てる
double RoundDownDouble(double value, int digits)
{
   return ((double)(int)(value * MathPow(10, digits))) / MathPow(10, digits);
}

10のdigit乗を掛け算して一旦整数化し、掛けた数で割って少数に戻しています。

関連記事

スポンサーリンク
海外FXキャッシュバック口座開設ならTariTali(タリタリ)

コメント

タイトルとURLをコピーしました