Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.009 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'exception.': 0.09; 'silently': 0.09; 'throw': 0.09; 'trailing': 0.09; 'wrote:': 0.15; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'subject:Convert': 0.16; 'zeroes': 0.16; "subject:' ": 0.16; 'pm,': 0.16; 'received:209.85.210.174': 0.19; 'received:mail- iy0-f174.google.com': 0.19; 'ignore': 0.21; 'header:In-Reply- To:1': 0.22; 'point,': 0.25; 'sat,': 0.28; 'message- id:@mail.gmail.com': 0.28; 'skip:i 30': 0.29; 'problem': 0.29; 'does': 0.32; 'to:addr:python-list': 0.34; 'there': 0.34; 'opposed': 0.37; 'received:google.com': 0.38; 'received:209.85': 0.38; 'subject:: ': 0.38; 'should': 0.39; "there's": 0.39; 'to:addr:python.org': 0.39; 'received:209': 0.40; 'give': 0.60; 'cause': 0.69; 'safe.': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=KbHH1kvkC1TTI8LYHz6o4dLIg+ouIgskYkf5HtSBKrk=; b=KzConcQI54HVtA/5XuhONpfk6UVaMqRuInew6WZLsv96CU2LYbdaH0TbK4hrVpyeDi Ba7d6R/uTUpgaVvfKk3DtuEUdL0vZvRLOYE/7a2xND+KXNjLQ5Xbo0g4qt9YDbEhC59g k2kCyKsSn+evfV07JrLkHcAMT66j8Tu9hN8VM= MIME-Version: 1.0 In-Reply-To: <4230ed8b-5173-4408-938f-3777dcd60588@t7g2000vbv.googlegroups.com> References: <4e281f97$0$16404$426a74cc@news.free.fr> <4230ed8b-5173-4408-938f-3777dcd60588@t7g2000vbv.googlegroups.com> Date: Sat, 23 Jul 2011 17:42:31 +1000 Subject: Re: Convert '165.0' to int From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 18 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1311406954 news.xs4all.nl 23838 [2001:888:2000:d::a6]:48164 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:10167 On Sat, Jul 23, 2011 at 4:53 PM, Frank Millman wrote: > The problem with that is that it will silently ignore any non-zero > digits after the point. Of course int(float(x)) does the same, which I > had overlooked. If you know that there will always be a trailing point, you can trim off any trailing 0s, then trim off a trailing '.', and then cast to int: int(s.rstrip('0').rstrip('.')) It'll remove only zeroes and then only periods, as opposed to s.rstrip('.0') which would give a wrong result for (say) '40.000', so this should be safe. If there's any non-zero digits after the decimal, they and the decimal will be kept, which will cause the int() cast to throw an exception. ChrisA