Redondear números en MT4 mediante NormalizeDouble

 

Hola. ¿Puede decirme cuál es el problema?

¿Por qué la función NormalizeDouble(0,055,2) redondea el número "0,055" a "0,06"?

No es una función de redondeo de fracciones.

 

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

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

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

Para continuar con el tema. Hay un guión

#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, mientras que debería ser 0,06000000 en ambos casos.

 
Maxim Khrolenko:

Para continuar con el tema. Hay un guión

resultado: v1 = 0,06000000, v2 = 0,05000000, mientras que debería ser 0,06000000 en ambos casos.

Redondeo - Wikipedia

 
Roman Starinskij:

Hola. ¿Puede decirme cuál es el problema?

¿Por qué la función NormalizeDouble(0,055,2) redondea el número "0,055" a "0,06"?

No es una función de redondeo de fracciones.

¿Cuál cree que debería ser el resultado?
 
Maxim Khrolenko:

Para continuar con el tema. Hay un guión

resultado: v1 = 0,06000000, v2 = 0,05000000, mientras que debería ser 0,06000000 en ambos casos.

¿Por qué no?
 
Maxim Khrolenko:

Para continuar con el tema. Hay un guión

El resultado: v1 = 0,06000000, v2 = 0,05000000, mientras que debería ser 0,06000000 en ambos casos.

bueno, vshchupeeeeeee....

Debería ser v1=v2=0,06.

Ni siquiera lo he comprobado... ¿Es realmente tan malo?

¿Tienes MT5 o MT4?

 
new-rena:

bueno, wow, wow, wow, wow, wow, wow, wow, wow, wow, wow.

debe ser v1=v2=0,06.

Ni siquiera he comprobado... ¿Realmente es tan complicado?

¿Por qué iba a hacer eso?
 
Dmitry Fedoseev:
¿Por qué harías eso?

Saqué una D en la escuela, pero recordé el redondeo correcto...

Si el número más a la derecha es mayor o igual que 5, entonces el siguiente número a la izquierda es +1. Y así sucesivamente, cambiando de derecha a izquierda.

 
new-rena:
Yo sacaba suspensos en la escuela, pero recuerdo esto...

Interesante, qué tipo de escuela es esta... Dime lo que estás pensando. Porque no tengo ni idea de cómo puede ser tan cliché.

 
Maxim Khrolenko:

Para continuar con el tema. Hay un guión

resultado: v1 = 0,06000000, v2 = 0,05000000, mientras que debería ser 0,06000000 en ambos casos.

Y estás normalizando 3 caracteres después del punto decimal