Floating point accuracy in python

2024/11/15 14:09:48

Any reason why c shouldn't equal 0.321?

>>> from math import ceil
>>> a = 123.321
>>> b = a % 60
>>> b
3.320999999999998
>>> ceil(b)
4.0
>>> c = ceil(b) - b
>>> c
0.679000000000002

Update:

For anyone wanting to know how I got the value I was looking for:

>>> c = b - floor(b)
Answer

You're going to facepalm in about five minutes :P

ceil(b) is 4.0
b is 3.320999999999998

So ceil(b) - b should be 4.0 - 3.320999999999998. Try putting that in your calculator and you'll see why c isn't equal to 0.321.

If you're trying to get c equal to .321, you should probably do b - floor(b).

https://en.xdnf.cn/q/119416.html

Related Q&A

datetime64 comparison in dataframes

I am struggling with datetime64 comparisons in dataframes to update a column. lets say we have a dataframe df with a date columndf.date.values[0] Out[128]: numpy.datetime64(2015-05-17T22:00:00.00000000…

Relative import of a apackage in python flask application

Trying to make the sample flask application more modular,I am new to python and flask trying to build a sample application where , I have planned to maintain the folder structure of the application a…

Same sparql not returning same results

Im using the same sparql statement using two different clients but both are not returning the same results. The owl file is in rdf syntax and can be accessed here. This is the sparql statement: PREFIX …

Accessing nested values in nested dictionaries in Python 3.3

Im writing in Python 3.3. I have a set of nested dictionaries (shown below) and am trying to search using a key at the lowest level and return each of the values that correspond to the second level. Pa…

scrape site with anti forgery token

Im trying to scrape data from website that uses anti forgery token what i tried to do is sending a get request then finding the key and use it to send a post request i was able to successfully scrape t…

Pandas merge and grouby

I have 2 pandas dataframes which looks like below. Data Frame 1: Section Chainage Frame R125R002 10.133 1 R125R002 10.138 2 R125R002 10.143 3 R125R002 10.148 4 R125R002 …

Find a pattern in the line of another file in python [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.Want to improve this question? Update the question so it focuses on one problem only by editing this post.Closed 3…

AssertionError if running code in Python prompt but not if running as file

Why trying to explain here on stackoverflow what the Python command id() does and how can it be used to reveal how Python works under the hood I had run into following strange behavior I am struggling …

Remove values before and after special character

I have a dataframe, df, where I would like to remove the values that come before the underscore _ and after the underscore _ , essentially, keeping the middle. Also keeping the digits at the end and co…

Python selection sort

Question: The code is supposed to take a file (that contains one integer value per line), print the (unsorted) integer values, sort them, and then print the sorted values.Is there anything that doesnt…