Best way to calculate fraction part of x?

Mark Lawrence breamoreboy at yahoo.co.uk
Mon Mar 23 09:11:04 EDT 2015


On 23/03/2015 12:52, Steven D'Aprano 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
>
> Are there any other, possibly better, ways to calculate the fractional part
> of a number?
>

Any sparks here 
http://stackoverflow.com/questions/875238/fractional-part-of-the-number-question 
?  I'm assuming that the reference to "pkaeding's algorithm" refers to 
https://github.com/pkaeding but haven't confirmed that to be fact.

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list