Re: [Zope] Weird interaction between int() and DateTime.timeTime

2000-05-25 Thread andres

On Thu, May 25, 2000 at 06:48:51PM +0100, Chris Withers wrote:
 "Jeff K. Hoffman" wrote:
Python 1.5.2 (#3, Mar  8 2000, 16:34:52) [C] on sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam

 f = 1.
 f
2.0
 int(f)
1

 
  the int() function takes a different code path and returns 1, correctly.
 
 Forgive my ignorance, but in what way is 1 correct here? Surely 2 is the
 what should be returned?!
 

From the python int doc string:

 print int.__doc__
int(x) - integer
 
Convert a string or number to an integer, if possible.
A floating point argument will be truncated towards zero.   

--
Andres Corrada-Emmanuel   Email: [EMAIL PROTECTED]
--

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Weird interaction between int() and DateTime.timeTime

2000-05-25 Thread Chris Withers

[EMAIL PROTECTED] wrote:
 From the python int doc string:
 
  print int.__doc__
 int(x) - integer
 
 Convert a string or number to an integer, if possible.
 A floating point argument will be truncated towards zero.

I _always_ get bitten by this :(

Sorry for my igorance, 

Chris

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Weird interaction between int() and DateTime.timeTime

2000-05-25 Thread Jeff K. Hoffman

On Thu, 25 May 2000, Chris Withers wrote:

 "Jeff K. Hoffman" wrote:
Python 1.5.2 (#3, Mar  8 2000, 16:34:52) [C] on sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam

 f = 1.
 f
2.0
 int(f)
1

 
  the int() function takes a different code path and returns 1, correctly.
 
 Forgive my ignorance, but in what way is 1 correct here? Surely 2 is the
 what should be returned?!

int() disregards everything after the decimal.

   int(1.25)
  1
   int(1.5)
  1
   int(1.75)
  1
   int(1.)
  1
   int(2)
  2

The problem comes in when you consider that the string representation
functions (and thus, print) do not behave in the same way.

   print 1.25
  1.25
   print 1.5
  1.5
   print 1.75
  1.75
   print 1.9
  1.9
   print 1.999
  1.999
   print 1.9
  1.9
   print 1.999
  1.999
   print 1.9
  1.9
   print 1.999
  1.999
   print 1.9
  2.0

 Chris

--Jeff

---
Jeff K. Hoffman   704.849.0731 x108
Chief Technology Officer  mailto:[EMAIL PROTECTED]
Going Virtual, L.L.C. http://www.goingv.com/


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )