Arredondamento de números em MT4 via NormalizeDouble

 

Olá. Você pode me dizer qual é o problema?

Por que o NormalizeDouble(0,055,2) funciona em torno do número "0,055" a "0,06"?

Não é uma função de arredondamento de fração.

 

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

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

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

Para continuar o tema. Há um roteiro

#property strict

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

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

resultado: v1 = 0,06000000, v2 = 0,05000000, enquanto deve ser 0,06000000 em ambos os casos.

 
Maxim Khrolenko:

Para continuar o tema. Há um roteiro

resultado: v1 = 0,06000000, v2 = 0,05000000, enquanto deve ser 0,06000000 em ambos os casos.

Arredondamento - Wikipedia

 
Roman Starinskij:

Olá. Você pode me dizer qual é o problema?

Por que o NormalizeDouble(0,055,2) funciona em torno do número "0,055" a "0,06"?

Não é uma função de arredondamento de fração.

Qual você acha que deveria ser o resultado?
 
Maxim Khrolenko:

Para continuar o tema. Há um roteiro

resultado: v1 = 0,06000000, v2 = 0,05000000, enquanto deve ser 0,06000000 em ambos os casos.

Por que diabos não?
 
Maxim Khrolenko:

Para continuar o tema. Há um roteiro

Resultado: v1 = 0,06000000, v2 = 0,05000000, enquanto deve ser 0,06000000 em ambos os casos.

Bem, vshchupeeeeeeeeeeeeeeeeeeeee....

Deve ser v1=v2=0,06.

Eu nunca sequer chequei... É realmente tão errado?

Você tem MT5 ou MT4?

 
new-rena:

bem, wow, wow, wow, wow, wow, wow, wow, wow, wow, wow, wow, wow, wow.

deve ser v1=v2=0,06.

Eu nunca sequer chequei... É realmente uma bagunça assim tão grande?

Por que diabos faria isso?
 
Dmitry Fedoseev:
Por que você faria isso?

Tive um D na escola, mas lembrei-me de arredondar corretamente.

Se o número mais à direita for maior ou igual a 5, então o próximo número à esquerda é +1. E assim por diante, passe da direita para a esquerda.

 
new-rena:
Tive F's heterossexuais na escola, mas lembro-me disto...

Interessante, que tipo de escola é esta... Diga-me o que você está pensando. Porque não tenho a menor idéia de como poderia ser tão clichê.

 
Maxim Khrolenko:

Para continuar o tema. Há um roteiro

resultado: v1 = 0,06000000, v2 = 0,05000000, enquanto deve ser 0,06000000 em ambos os casos.

E você normalizou 3 caracteres após o ponto decimal
Razão: