question about cx_Oracle .thanks
sholden at holdenweb.com
Fri Jun 25 14:27:27 CEST 2004
Paul Watson wrote:
> "coolmenu" <menucool at yahoo.com.cn> wrote in message
> news:a6a2957e.0406250233.402c2ddd at posting.google.com...
>>David Fraser <davidf at sjsoft.com> wrote in message
> news:<cbghcs$5m3$1 at ctb-nnrp2.saix.net>...
>>Can someone give me a advice? how can i do?
>>donnt select number from oracle?
> This has nothing to do with Oracle. This is the problem of representing
> floating point numbers on a binary system. You may need to format the
> number for presentation.
>>>>x = 42055.66
>>>>print "the answer is %.2f" % (x)
> the answer is 42055.66
And, in fact, more generally, see:
which you will (I hope) appreciate does not just apply to Python. Python
is confusing you by showing you the contents of your tuple as accurately
as possible: your computer actually stores 4205.66 as 42505.660000000003
- this is an accurate decimal representation of the binary value:
>>> print repr(42055.66)
Even more confusingly, when you try it on a SPARC processor you may get
slightly different answers. Wise programmers always round monetary
calculations at every step along the way.
 Yes, I know this is a simplification, please let's not have yet
another repeat of the eternal thread. Allow some room for pedagogy here!
More information about the Python-list