<sr*********@yahoo.co.inwrote:
Yes it works for most of the cases. But it doesn't for the following case:Since you really care about significant figures here, have you
'0.889999999898'>>>str(abs(int(1234567.89)-1234567.89))
considered using decimal rather than float as, IIRC, it handles this
correctly?
Cheers,
Chris
--
Follow the path of the Iguana...
http://rebertia.com
>
Thanks,
Srini
----- Original Message ----
From: Tino Wildenhain <ti**@wildenhain.de>
To: srinivasan srinivas <sr*********@yahoo.co.in>
Cc: Jeremiah Dodds <je************@gmail.com>; py*********@python.org
Sent: Wednesday, 19 November, 2008 7:33:46 PM
Subject: Re: Getting fractional part from a float without using string operations
srinivasan srinivas wrote:>Yes. But it didn't give only the expected decimals.
For ex:> >>a = 1.230.22999999999999998
abs(int(a) -a)
I would like to get the result '0.23' only.
well, thats what get stored internally - there
is no way around it if you are using floating
point numbers:
0.23000000000000001>>>0.23
but str() handles the rounding correctly:
0.23>>>print 0.23
0.23>>>print abs(int(a) -a)
See also http://en.wikipedia.org/wiki/Floating_point
for the problems with FP figures.
Regards
Tino
Get perfect Email ID for your Resume. Grab now http://in.promos.yahoo.com/address
--
http://mail.python.org/mailman/listinfo/python-list