![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por supuesto que tienes razón. Pero lo repetiré. Para el 99,9% de las tareas es absolutamente correcto sustituir las funciones de redondeo por una variante alternativa más rápida que utilice la conversión de tipos fraccionarios a (int) o (long). Un programador experimentado debe ser consciente de este hecho y aplicarlo cuando sea conveniente.
En el 99% de los casos no es necesario preocuparse por el redondeo. Para comparar precios tengo esta tontería:
Puedes notar que en la mayoría de los casos no llega a redondear() en absoluto, aunque no he medido la velocidad.
ver arriba
cuando x = 3 (cualquier entero) hay un atasco :))
Respetuosamente.
¿Hay un error en el mío o en su fórmula?
Respetuosamente.
En mi antiguo:
y en el tuyo:
cuando x=3 en ambos casos será el valor erróneo de 4
y la variante:
es hasta ahora la más correcta, manteniendo la máxima velocidad de ejecución.
En mi antiguo:
y en el tuyo:
en x=3 en ambos casos habrá un valor incorrecto de 4
y en caso de variante:
es hasta ahora la más correcta, manteniendo la máxima velocidad de ejecución.
pero, ¿por qué se necesita esta fórmula cuando se da un número entero a su entrada?
P.D. tienes que entender, si quieres ser un buen programador, que no en todas partes y no siempre hay que meter todo tipo de funciones aceleradoras, depende de la tarea que tengas entre manos y del algoritmo con el que estés trabajando.con respeto.
¿Por qué necesitas esta fórmula cuando das un número entero a su entrada?
Sinceramente.
Puede que no sepas si es un entero o un no entero. Hay veces que un número doble puede convertirse en un número entero.
P.D. Tienes que entender, si quieres ser un buen programador, que no en todas partes y no siempre necesitas meter todo tipo de funciones aceleradoras, depende de la tarea en cuestión y del algoritmo con el que estés trabajando.
Puede que no sepas si es un entero o un no entero. Hay veces que un número puede convertirse en un entero.
Respetuosamente.
P.D. El doble por definición no puede ser un entero, la representación de un número en la memoria de la máquina no cambiará.Luego hay que hacer un gran esfuerzo para elegir los números de la entrada.
con todo respeto.
por eso, para que no tengamos que darle importancia:
Es más fácil escribir:
o esto.
así que no hay que darle importancia:
es más fácil escribir:
1-0.9999999999999998
no lo harás bien.
Con este enfoque, puedes encontrar un número en el que tu fórmula no funcione.
Respetuosamente.
en
No va a funcionar.
Con este enfoque, encontrarás un número a partir del cual tu fórmula no funcionará.
Respetuosamente.
Ya he escrito sobre ello aquí.
Te sugiero que releas este hilo para no repetirte.