This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mark.dickinson
Recipients jyasskin, mark.dickinson
Date 2009-04-22.10:04:21
SpamBayes Score 7.875971e-06
Marked as misclassified No
Message-id <1240394667.14.0.711650033948.issue5812@psf.upfronthosting.co.za>
In-reply-to
Content
When the Fractions module was first added to Python, it was decided that
when constructing from a string, decimal strings should be allowed, but
not those including an exponent.  For example, Fraction('1.1') is
currently valid, but Fraction('1.1e6') is not.

I think exponents should be permitted, for a couple of reasons:

(1) consistency:  there's a clearly-defined notion of a numeric string
of the form ([sign] integer_part [fractional_part] [exponent]);  the
float and Decimal constructors both accept all numeric strings. 
Fraction currently accepts some, but not all of these.

(2) Easy interactions with floats:  with this addition, a Fraction can
always be constructed from the str() or repr() of a finite float or
finite Decimal;  without it, only some of those strings can be converted.

(3) Ease of parsing files containing numeric strings.

(4) It's a very simple change!  See attached patch.

Jeffrey, any thoughts?
History
Date User Action Args
2009-04-22 10:04:27mark.dickinsonsetrecipients: + mark.dickinson, jyasskin
2009-04-22 10:04:27mark.dickinsonsetmessageid: <1240394667.14.0.711650033948.issue5812@psf.upfronthosting.co.za>
2009-04-22 10:04:24mark.dickinsonlinkissue5812 messages
2009-04-22 10:04:23mark.dickinsoncreate