i have made a program and its output is sometimes something like

`1.0000005`

. that's pretty annoying but i can get it solved with some rounding. but when my answer should be `1.3333333`

for example i also get the precision problem and i get like `1.333333339`

. i can't use a simple round to solve this so could anyone tell me how to get the right value?
I don't think there's an easy answer. But judging by the examples quoted, your results have limited precision. I'd recommend using double or long double, which should be better than float. But that merely pushes the problem further along into the later digits.

Last edited on

http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems

Please read this. There is no easy solution to your problem. You can use less precision (print less digits after period) so

EDIT: sin(1.0) is equal sin(1.0)? Do you really think so?

http://ideone.com/MY6EYc

Please read this. There is no easy solution to your problem. You can use less precision (print less digits after period) so

`1.333333339`

will become `1.333333`

EDIT: sin(1.0) is equal sin(1.0)? Do you really think so?

http://ideone.com/MY6EYc

Last edited on

Topic archived. No new replies allowed.