Oscar Benjamin <oscar.j.benja...@gmail.com> writes: > On 15 April 2016 at 10:24, Robin Becker <ro...@reportlab.com> wrote: <snip> >> yes indeed summation is hard :( > > Not with Fraction it isn't: > > from fractions import Fraction > > def exact_sum(nums): > return sum(map(Fraction, nums)) > > This will give you the exact result with precisely zero rounding > error. You can convert it to float at the end.
Just a word of warning for people new to numerical work: there's no rounding error, but unless you start with Fraction objects you still have input or conversion errors. The uninitiated might expect exact_sum([0.3, 0.7]) to be 1. -- Ben. -- https://mail.python.org/mailman/listinfo/python-list