NormalizeDoubleによるMT4での数値の丸め方 - ページ 11

 
Алексей Тарабанов:

そして、あなたのは間違っています、ごめんなさい...。

なぜ?

void OnStart()
  {
   for(int i=1;i<=9;i++)
     {
      double v1=0.1*i;

      Print("v1 = ",v1," = ",DoubleToString(MathCeil(v1),2));
     }
  }

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.1 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.2 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.3 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.4 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.5 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.6 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.7 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.8 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.9 = 1.00

あなたのお手本です。

0.1+0.5=0.6 = 1

0.2+0.5=0.7 = 1

0.3+0.5=0.8 = 1

0.4+0.5=0.9 = 1

0.5+0.5=1.0 = 1

0.6+0.5=1.1 = 1

0.7+0.5=1.2 = 1

0.8+0.5=1.3 = 1

0.9+0.5=1.4 = 1

 
lilita bogachkova:

なぜ?

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.1 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.2 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.3 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.4 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.5 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.6 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.7 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.8 = 1.00

0 22:49:08.463 !テスト GBPUSDbc,H1: v1 = 0.9 = 1.00

あなたのお手本です。

0.1+0.5=0.6 = 1

0.2+0.5=0.7 = 1

0.3+0.5=0.8 = 1

0.4+0.5=0.9 = 1

0.5+0.5=1.0 = 1

0.6+0.5=1.1 = 1

0.7+0.5=1.2 = 1

0.8+0.5=1.3 = 1

0.9+0.5=1.4 = 1

int A = double B + 0.5」という文は、int A = (int)MathCeil(double B);と解けるから、不正解で ある。
 
Алексей Тарабанов:
int A = double B + 0.5」という文は、int A = (int)MathCeil(double B);と解けるから不正解で ある。
では、どのように解決しているのでしょうか。
 
lilita bogachkova:
では、どのように解決するのでしょうか。
正しい、つまり私が言ったとおりです。まず分数に0.5を加え、その結果から分数を 引き、その結果を四捨五入して整数にする。
 
Dmitry Fedoseev:

これはどうでしょう?

その後5
 
Алексей Тарабанов:
正しい、つまり私が言ったとおりです。まず小数に0.5を加え、その結果から小数の 部分を引き、その結果を整数に丸める。
コード?
 
lilita bogachkova:
では、どのように解決するのでしょうか。
彼は説明できない。邪魔をしないように。
 
Vasyl Nosal:
コード?
int A = double B + 0.5
 
Алексей Тарабанов:
正しい、つまり私が言ったとおりです。まず分数に0.5を加算し、その結果から分数を 引き、その結果を整数に丸める。
それならサービスデスクに、こんな追加関数MathCeil() を作ったと書かないとね :)
 
Vasyl Nosal:
彼は説明できない。邪魔をしないように。
ヴァス、話の邪魔をしないでくれ。
理由: