Yes it works for most of the cases. But it doesn't for the following case:
'0.889999999898 '
Thanks,
Srini
----- Original Message ----
From: Tino Wildenhain <tino@wildenhai n.de>
To: srinivasan srinivas <sri_annauni@ya hoo.co.in>
Cc: Jeremiah Dodds <jeremiah.dodds @gmail.com>; python-list@python.org
Sent: Wednesday, 19 November, 2008 7:33:46 PM
Subject: Re: Getting fractionalpart from a float without using string operations
srinivasan srinivaswrote:
well, thats what get stored internally - there
is no way around it if you are using floating
point numbers:
0.2300000000000 0001
but str() handles the rounding correctly:
0.23
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
>>str(abs(int(1 234567.89)-1234567.89))
Thanks,
Srini
----- Original Message ----
From: Tino Wildenhain <tino@wildenhai n.de>
To: srinivasan srinivas <sri_annauni@ya hoo.co.in>
Cc: Jeremiah Dodds <jeremiah.dodds @gmail.com>; python-list@python.org
Sent: Wednesday, 19 November, 2008 7:33:46 PM
Subject: Re: Getting fractionalpart from a float without using string operations
srinivasan srinivaswrote:
Yes. But it didn't give only the expected decimals.
For ex:
> >>a = 1.23
> >>abs(int(a) -a)
0.2299999999999 9998
> I would like to get the result '0.23' only.
For ex:
> >>a = 1.23
> >>abs(int(a) -a)
0.2299999999999 9998
> I would like to get the result '0.23' only.
is no way around it if you are using floating
point numbers:
>>0.23
but str() handles the rounding correctly:
>>print 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
Comment