farsi...@gmail.com wrote:
On Mar 8, 2:16 pm, farsi...@gmail.com wrote:
4 / 5.0
0.800000000000000004

This one is a common FAQ. Basically floating point is never to be trusted. This issue is quite language agnostic, however some language decided to "hide" the issue, python does not. For more information on floating point and its intricacies: http://docs.python.org/tutorial/floatingpoint.html

>>>> 0.8 * 5
4.0

python 2.6.1 on mac. What the hell is going on here?

Pure curiosity prompted me to try the following:
40 / 5.0
8.0

Strange...

Strange, I don't see anything strange with that...

Perhaps you meant, python returns 4.0 instead of 4? It's because in division with at least one of the divisor or the dividend a floating point will return a floating point value.

Perhaps you're confusing it with integer division, in which both divisor and dividend are integers. In python 2.6, this will still return integers, but this will change (edit: have changed) in python 3.x, division of integer by integer will always result in floating point even if the result can be represented exactly by an integer. You can do 'from __future__ import division' to use the new division semantic in python 2.x
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to