MQL4で、少数を整数にしたい(小数点以下をなくしたい)場合、四捨五入であれば、標準関数NormalizeDouble()を使えば簡単に行えるのですが、少数以下を切り捨てる関数がないようでした。
自分で処理(関数)を作成する必要がありました。
そこで、以下のような関数を作成してみました。
処理したい値を引数valueに入れると、引数digitsでした少数桁未満の桁をカットした値を返します。
// double型の値の指定の桁以下を切り捨てる
double RoundDownDouble(double value, int digits)
{
return ((double)(int)(value * MathPow(10, digits))) / MathPow(10, digits);
}
10のdigit乗を掛け算して一旦整数化し、掛けた数で割って少数に戻しています。
コメント