[Python-Dev] Decimal <-> float comparisons in py3k.
Steven D'Aprano
steve at pearwood.info
Thu Mar 18 20:34:19 CET 2010
On Fri, 19 Mar 2010 05:27:06 am Glenn Linderman wrote:
> > Do you envisage any problems from allowing this instead?
> >
> >>>> Decimal('1.1')< 2.2
> >
> > True
>
> Yes.
>
> As any non-naïve float user is aware, the proper form of float
> comparisons is not to use < or > or == or !=, but rather, instead of
> using < (to follow along with your example), one should use:
>
> Decimal('1.1') - 2.2 < epsilon
And yet we allow
1.1 < 2.2
instead of forcing users to do the "proper form". One can only wonder
why the various standards (actual and de-facto) for floating point
allows comparisons at all.
But they do, and so does Python, and frankly even if the only reason is
to satisfy lazy coders who don't have a requirement for high accuracy,
then that's a good reason in my book, and one equally applicable to
Decimal and float.
--
Steven D'Aprano
More information about the Python-Dev
mailing list