> From: [EMAIL PROTECTED]
>
>       I use the ecos package , and I found the double type question
> Double dnum1 = 1234567.1
> Double dnum2 = 1234567
> Double result = 0 ;
>
> Result = dnum1-dnum2 ;
>
> The result is 0.10000000009
>
> Anybody know how to solve this question?

0.1 can't be represented exactly in binary, so there's an inevitable
roundoff error. Sometimes these errors are hidden by the implementation of
the binary to decimal conversion used in printing out the answer, but
sometimes not. I don't know if you're using printf in C, or << in C++, but
you might try requesting less precision in the output, to see if that rounds
the result back to 0.1.

--

Ciao,               Paul D. DeRocco
Paul                mailto:[EMAIL PROTECTED]


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to