Your code is wrong. Use WriteVal to output numbers with desired number of decimal places or StrFormat.
WriveVal( your_variable, 1.4 ); // output with 4 decimal digits Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: "paul_79c" <[email protected]> To: <[email protected]> Sent: Tuesday, July 14, 2009 5:42 PM Subject: [amibroker] Unable to perform a simple operation > Does anyone know why Amibroker is unable to give the correct answer to this: > > fh = fopen( "C:/Amibroker/"+Name()+"1.txt", "r"); > if( fh!=0) > { > k=StrToNum(fgets(fh)); > fclose(fh); > } > fh1 = fopen( "C:/Amibroker/"+Name()+"spread.txt", "r"); > if( fh1!=0 ) > { > k1=Prec(StrToNum(fgets(fh1)),4); > fclose(fh1); > } > a=Prec(abs((LastValue(C)+k1)-k)+0.0001,4); > > I`m using this code on EURUSD trying to perform a simple subtraction but > Amibroker is unable to give a precise answer, like for > example sometimes 1.3941-1.3931=0.0009 sometimes =0.0010(correct) sometimes > 0.0008 or other close value. dont get it its a simple > subtraction, obviously has something to do with floating point does someone > know what to do to get the right answer from > amibroker? > > > > > > > ------------------------------------ > > **** IMPORTANT PLEASE READ **** > This group is for the discussion between users only. > This is *NOT* technical support channel. > > TO GET TECHNICAL SUPPORT send an e-mail directly to > SUPPORT {at} amibroker.com > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > http://www.amibroker.com/feedback/ > (submissions sent via other channels won't be considered) > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > http://www.amibroker.com/devlog/ > > Yahoo! Groups Links > > >
