. Все повторяется, пока выражение2 не станет ложным. Если оно ложно, цикл заканчивается и управление передается следующему оператору. ВыражениеЗ вычисляется после каждой итерации. могут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если опущено...
こんにちは!
「for」ループで「double」を使用する正しい方法は何ですか?ヘルプに "double "の使用禁止はないようです。
とにかく、私の結論は、各反復の後のExpressionZの正規化ができないため、"for"ループでは "double "は推奨されないということです。
1) 反復回数の間違い。
2) ExpressionZ を使って文中で計算すると、間違った結果になる。
ありがとうございます。なぜこうなるのか、それがわかるからこそ、ノーマライゼーションに挑戦したのです。私には効果がありませんでした。Alexey Viktorovのオプションでも直らず、値は正規化されないままです。 そこで疑問が残るのですが、ループ内で「double」を使用して、常に正しい反復回数を得ることができるのでしょうか?
整数が得られるまで、10を適当にかける。私も最初は苦労しましたが、今では価格を整数に変換したり、整数に丸めたりする作業までしています。エラーが少なくなり、読みやすくなりました。
一般に、あるプログラマーが取引所からサマリーを受け取って言ったように、ある桁数の数字が整数ではなく実数で表現される理由がわからないのである。これは論理的に正しくないです ))))
整数が得られるまで、10を適当にかける。最初は私も苦労しましたが、今では価格を整数に変換したり、四捨五入して整数にする作業までしています。エラーが少なくなり、読みやすくなりました。
一般に、あるプログラマーが取引所からサマリーを受け取って言ったように、ある桁数の数字が整数ではなく実数で表現される理由がわからないのである。これは論理的に正しくないです ))))
ありがとうございます!旧来の方法でintを使い、doubleで割ることにします。;)
ありがとうございます。でも、あなたの例も正しい結果を得られませんでした。printfでは、正規化が行われていないことがわかります。
すみません、確認すべきでした。そして、ここには「ちゃんとやりたかったのに、いつもと同じになってしまった」というのがあります。
結果
正しいコード
正しいコード
step=0.04としないように注意;)
step=0.04としないように注意;)
これはあくまで頭の使い方がわからない人へのアドバイスです)))
すみません、確認すべきでした。ただ、"良かれと思ってやったのに、いつもと違う "ということです。
結果
正しいコードです。
i=NormalizeDouble(i+step, 1)あ、ありがとうございます!自分では思いつかなかった。まさに、私たちプログラミング初心者を助けてくれる存在です! ;)
構造 体の配列をソートするメソッドを探して います。どなたか、動作するバリアントをお持ちではないでしょうか?
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
うまくいかない...。