Página 1 de 1
Sobre Excel, Visual Chart y la precisión numérica
Publicado: 05 Oct 2012 13:34
por Speculari
Hola a todos. Os comento. Estoy realizando un indicador que, entre otras cosas, tiene que mostrar en Excel el valor de la función de Visual Chart .Open(0, Data1). A dicha función, le tengo asignada una variable de tipo Single. El caso es que, al trabajar con el futuro del Bobl (Eurex), el cual tiene dos decimales, en vez de ponerme en Excel el valor, por ejemplo 124,71, que es el que aparece en el gráfico de Visual Chart, me muestra en Excel el valor 124,709999084472.
¿A qué es debido esta imprecisión, si tan sólo tendría que aparecer el número con dos decimales?
Saludos y gracias de antemano.

Re: Sobre Excel, Visual Chart y la precisión numérica
Publicado: 05 Oct 2012 18:53
por Speculari
Acabo de comprobar que el asunto no guarda relación con Excel, ya que haciendo:
MsgBox .Open(0, Data1)
me sale la ventanita con el mismo número, el cual posee más decimales del que tiene el valor realmente. Como ya indiqué, por ejemplo, en el futuro del Bobl (Eurex), el cual tiene tan sólo dos decimales, me salen en dicha ventanita muchos más.
¿A qué es posible esto?
Gracias de antemano.

Re: Sobre Excel, Visual Chart y la precisión numérica
Publicado: 05 Oct 2012 19:30
por Gamelu
En metatrader pasa algo similar, y creo que lo solucione con la funcion NormalizeDouble( double value, int digits)
double NormalizeDouble( double value, int digits), sera parecido en visualchart
http://docs.mql4.com/convert/NormalizeDouble
Rounds the floating point value to the given precision. Returns normalized value of the double type.
The calculated StopLoss and TakeProfit values, as well as open price of pending orders must be normalized with a precision the value of which is stored in the pre-defined variable of Digits.
Parameters:
value - Floating point value.
digits - Precision format, number of digits after decimal point (0-8).
Sample:
double var1=0.123456789;
Print(DoubleToStr(NormalizeDouble(var1,5),8));
// output: 0.12346000
Re: Sobre Excel, Visual Chart y la precisión numérica
Publicado: 06 Oct 2012 10:08
por Speculari
Gracias por la ayuda. En Visual Basic existe la función "Format", pero te convierte el resultado a una variable de tipo "Variant". Desconozco si hay alguna otra función más específica para expresiones numéricas.
Saludos
