NormalizeDoubleによるMT4での数値の丸め方

 

こんにちは。何が問題なのか、教えてください。

NormalizeDouble(0.055,2) 関数が数値"0.055" を "0.06" に丸める のはなぜですか?

分数の丸め機能ではありません。

 

https://docs.mql4.com/ru/convert/normalizedouble

Округление числа с плавающей точкой до указанной точности.

NormalizeDouble - Документация на MQL4
  • docs.mql4.com
NormalizeDouble - Документация на MQL4
 

テーマの続きです。スクリプトがあります

#property strict

void OnStart()
  {
   double v1 = NormalizeDouble(0.055,2);
   double v2 = NormalizeDouble(0.0549,2);

   Print("v1 = ",DoubleToString(v1),", v2 = ",DoubleToString(v2));
  }

の結果、v1 = 0.06000000, v2 = 0.05000000 となり、どちらも 0.06000000 となるべきところ、0.05000000 となりました。

 
Maxim Khrolenko:

テーマの続きです。スクリプトがあります

の結果、v1 = 0.06000000, v2 = 0.05000000 となり、どちらも 0.06000000 となるべきところ、0.05000000 となりました。

丸め - Wikipedia

 
Roman Starinskij:

こんにちは。何が問題なのか、教えてください。

NormalizeDouble(0.055,2) 関数が数値"0.055" を "0.06" に丸める のはなぜですか?

分数の丸め機能ではありません。

その結果、どうなるべきだと思いますか?
 
Maxim Khrolenko:

テーマの続きです。スクリプトがあります

の結果、v1 = 0.06000000, v2 = 0.05000000 となり、どちらも 0.06000000 となるべきところ、0.05000000 となりました。

なんでやねん!?
 
Maxim Khrolenko:

テーマの続きです。スクリプトがある

結果:v1 = 0.06000000、v2 = 0.05000000、どちらも0.06000000となるべきところ、0.05000000。

さて、vshupeeeeeeeeeee...。

v1=v2=0.06であるべきです。

確認したこともないんだけど...。そんなにいけないことなのでしょうか?

MT5とMT4はどちらをお使いですか?

 
new-rena:

まあwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

は、v1=v2=0.06であるべきです。

確認もしたことがない...。そんなにメチャクチャなんですか?

一体なぜ、そんなことをするのでしょうか?
 
Dmitry Fedoseev:
なぜ、そんなことを?

学校の成績はDだったけど、四捨五入はちゃんと覚えていたのに...。

右端の数字が5以上の場合、左隣の数字が+1されます。などと、右から左へずらす。

 
new-rena:
学校ではFランクだったけど、これは覚えてる...。

面白い!どんな学校なんだろう・・・。思っていることを教えてください。だって、どうしてこんなに陳腐になるのか、さっぱりわからないんだもの。

 
Maxim Khrolenko:

テーマの続きです。スクリプトがあります

の結果、v1 = 0.06000000, v2 = 0.05000000 となり、どちらも 0.06000000 となるべきところ、0.05000000 となりました。

そして、小数点以下3文字を正規化するのです
理由: