NormalizeDouble

NormalizeDouble-title MQL4リファレンス

NormalizeDouble

浮動小数点数を、指定された精度に丸めます。

書式

double NormalizeDouble(
 double value, // 浮動小数点の値
 int digits // 小数点以下の桁数
);

引 数

value
 浮動小数点の値
digits
 精度の形式。丸めた後の小数点の桁数(0~8まで指定可能)

戻り値

浮動小数点値の 小数点以下を、指定桁数で 四捨五入 した後の double型の値

注 記

ストップロス価格や、テイクプロフィット価格、待機注文の注文価格は、Digitsで正規化する必要があり、その値はDigits()で取得できます。
Print()関数を使用してジャーナルに出力する場合、正規化された数値には予想よりも多くの小数点以下の桁数が含まれる可能性があることに注意してください。
(サンプルの「76.671」を16桁で出力した場合の、15~16桁目の数値のこと)

サンプル

double a = 76.671; // 小数点以下3桁の数値
Print(“Print(76.761) = “,a); // そのまま出力
Print(“DoubleToString(a, 16) = “,DoubleToString(a,16)); // 16桁で出力

double pi = M_PI; // 円周率
Print(“pi = “,DoubleToString(pi, 16));

double pi_0 = NormalizeDouble(pi, 0);
Print(“pi_0 = ” + (string)pi_0);

double pi_1 = NormalizeDouble(pi, 1);
Print(“pi_1 = ” + (string)pi_1);

double pi_2 = NormalizeDouble(pi, 2);
Print(“pi_2 = ” + (string)pi_2);

double pi_3 = NormalizeDouble(pi, 3);
Print(“pi_3 = ” + (string)pi_3);

double pi_4 = NormalizeDouble(pi, 4);
Print(“pi_4 = ” + (string)pi_4);

double pi_5 = NormalizeDouble(pi, 5);
Print(“pi_5 = ” + (string)pi_5);

double pi_6 = NormalizeDouble(pi, 6);
Print(“pi_6 = ” + (string)pi_6);

double pi_7 = NormalizeDouble(pi, 7);
Print(“pi_7 = ” + (string)pi_7);

double pi_8 = NormalizeDouble(pi, 8);
Print(“pi_8 = ” + (string)pi_8);

実行結果
NormalizeDouble-result
タイトルとURLをコピーしました