Yes it works for most of the cases. But it doesn't for the following case:
>>> str(abs(int(1234567.89)-1234567.89)) '0.889999999898' Thanks, Srini ----- Original Message ---- From: Tino Wildenhain <[EMAIL PROTECTED]> To: srinivasan srinivas <[EMAIL PROTECTED]> Cc: Jeremiah Dodds <[EMAIL PROTECTED]>; python-list@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.23 > >>> abs(int(a) -a) > 0.22999999999999998 > 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.23 0.23000000000000001 but str() handles the rounding correctly: >>> print 0.23 0.23 >>> print abs(int(a) -a) 0.23 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