NormalizeDoubleによるMT4での数値の丸め方 - ページ 12 1...567891011121314151617 新しいコメント Алексей Тарабанов 2016.02.25 21:14 #111 lilita bogachkova: それから、サービスデスクに、彼らがそのような追加関数MathCeil() を発明したことを書き込まなければなりません :) ただ、違うだけで、あまり気にならないんです :) Lilita Bogachkova 2016.02.25 21:16 #112 Алексей Тарабанов: int A = double B + 0.5 については、彼の言うとおりです。"まず、端数に0.5を足して、端数部分を 切り捨て、結果を整数に丸める"とありますが、MQはその手間を省くためにMathCeil() を与えており、MathCeil() は丸めずに 次点の 整数を返すのですvoid OnStart() { ushort Characters_delete=14; for(int i=0;i<=Characters_delete;i++) { double v1=i+0.999999999999999; int v2=v1+0.5; Print("v1 = ",i," = ",DoubleToString(v2,2)); } } Dmitry Fedoseev 2016.02.25 21:21 #113 Vasyl Nosal: じゃあ、5つね。 5って何?このような数字を正規化すると、9がすべて0になってしまうので、正規化してから捨てると間違った結果になる。 Алексей Тарабанов 2016.02.25 21:25 #114 lilita bogachkova: については、彼の言うとおりです。"まず分数に0.5を加えて、結果から分数 部分を切り捨て、結果を整数に丸める。" とありますが、MQはそれを気にしないようにMathCeil() を与えてくれました。 ありがとう、サニー。でも、MathCeilはdouble: inputとoutputの両方でしか動かないんだ :) Lilita Bogachkova 2016.02.25 21:27 #115 Алексей Тарабанов: ありがとう、サニー。でも、MathCeilはdouble: inputとoutputの両方でしか動かないんだ :)解決済み:int A = (int)MathCeil(double B)。 Алексей Тарабанов 2016.02.25 21:31 #116 lilita bogachkova: を解くと、int A = (int)MathCeil(double B) となります。 申し訳ありません:int A =(int)MathCeil(double B+0.5) Lilita Bogachkova 2016.02.25 21:34 #117 Алексей Тарабанов: 申し訳ありません:int A =(int)MathCeil(double B+0.5) Not a:解決済み: int A =(int)MathCeil(double B)。 Алексей Тарабанов 2016.02.25 21:36 #118 lilita bogachkova: Not a:解決済み: int A =(int)MathCeil(double B)。 try: int A =MathCeil(2.6) Lilita Bogachkova 2016.02.25 21:39 #119 Алексей Тарабанов: try: int A = MathCeil(2.4)int A =MathCeil(2.4)=3int A = MathCeil(2.4+0.5) =3けどint A = MathCeil(2.6+0.5) =4int A = MathCeil(2.6) =3 Алексей Тарабанов 2016.02.25 21:43 #120 lilita bogachkova:int A = MathCeil(2.4)=3int A = MathCeil(2.4+0.5) =3けどint A = MathCeil(2.6+0.5) =4 悪魔は混乱する...もちろん、2.6です。数字がおかしい...。 1...567891011121314151617 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
それから、サービスデスクに、彼らがそのような追加関数MathCeil() を発明したことを書き込まなければなりません :)
int A = double B + 0.5
じゃあ、5つね。
については、彼の言うとおりです。"まず分数に0.5を加えて、結果から分数 部分を切り捨て、結果を整数に丸める。" とありますが、MQはそれを気にしないようにMathCeil() を与えてくれました。
ありがとう、サニー。でも、MathCeilはdouble: inputとoutputの両方でしか動かないんだ :)
を解くと、int A = (int)MathCeil(double B) となります。
申し訳ありません:int A =(int)MathCeil(double B+0.5)
Not a:解決済み: int A =(int)MathCeil(double B)。
try: int A = MathCeil(2.4)
int A =MathCeil(2.4)=3
int A = MathCeil(2.4+0.5) =3
けど
int A = MathCeil(2.6+0.5) =4
int A = MathCeil(2.6) =3
int A = MathCeil(2.4)=3
int A = MathCeil(2.4+0.5) =3
けど
int A = MathCeil(2.6+0.5) =4