Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #88099

Re: Best way to calculate fraction part of x?

References <55100c7a$0$13004$c3e8da3$5496439d@news.astraweb.com>
From Oscar Benjamin <oscar.j.benjamin@gmail.com>
Date 2015-03-26 21:59 +0000
Subject Re: Best way to calculate fraction part of x?
Newsgroups comp.lang.python
Message-ID <mailman.219.1427407165.10327.python-list@python.org> (permalink)

Show all headers | View raw


On 23 March 2015 at 12:52, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
> I have a numeric value, possibly a float, Decimal or (improper) Fraction,
> and I want the fractional part. E.g. fract(2.5) should give 0.5.
>
> Here are two ways to do it:
>
> py> x = 2.5
> py> x % 1
> 0.5
> py> x - int(x)
> 0.5
>
> x % 1 is significantly faster, but has the disadvantage of giving the
> complement of the fraction if x is negative:
>
> py> x = -2.75
> py> x % 1
> 0.25

The other version gives -0.75 in this case so I guess that's what you want.

> Are there any other, possibly better, ways to calculate the fractional part
> of a number?

What do you mean by better? Is it just faster?

To modify the % version so that it's equivalent you can do:

>>> x = -2.75
>>> (x % 1) - (x < 0)
-0.75

I'm not sure if that's faster than x - int(x) though. Obviously it
depends which numeric type you're primarily interested in.


Oscar

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Best way to calculate fraction part of x? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-03-23 23:52 +1100
  Re: Best way to calculate fraction part of x? Skip Montanaro <skip.montanaro@gmail.com> - 2015-03-23 08:02 -0500
  Re: Best way to calculate fraction part of x? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-03-23 13:11 +0000
  Re: Best way to calculate fraction part of x? wxjmfauth@gmail.com - 2015-03-23 06:17 -0700
  Re: Best way to calculate fraction part of x? Emile van Sebille <emile@fenx.com> - 2015-03-23 17:38 -0700
  Re: Best way to calculate fraction part of x? Jason Swails <jason.swails@gmail.com> - 2015-03-24 21:39 -0400
  Re: Best way to calculate fraction part of x? Emile van Sebille <emile@fenx.com> - 2015-03-26 13:48 -0700
  Re: Best way to calculate fraction part of x? Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2015-03-26 21:59 +0000
  Re: Best way to calculate fraction part of x? Russell Owen <rowen@uw.edu> - 2015-03-26 15:02 -0700

csiph-web