Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
rounding and floats
#3
I wouldn't understand why 10/3 == 3 either. I cannot find a way to make 10/3 == 3. But I cannot do that because I am running Python 3.8. If I was running Python 2.7 10/3 does == 3.

In Python pre 3, dividing an integer by an integer produced an integer. That is why 10 / 3 == 3. It cannot equal 3.33333 because 3.3333 is not an integer. 3 the integer part left over when you remove the fractional .333333 part, so the answer is 3.

To do the same trick in Python 3 you need to add extra code. int(10/3) == 3.

By the way, integer division in C or C++ works the same way.

Things change when you start using floats. A float divided by anything produces a float and dividing anything by a float produces a float. That is why 10.0 / 3.0 == 3.333333 and 10.0 / 3 == 3.3333 and 10 / 3.0 == 3.33333. In this Python 2 and Python 3 agree. When you do math operations, if any of the operands is a float the result is a float.

By the way, floating point division in C or C++ works the same way.

There is a misconception that "//" is integer division in Python 3. This is incorrect. "//" is "floor division". Floor division is similar to integer division, but the result is not necessarily an integer.
10 // 3 == 3, 3 is an integer
10.0 // 3.0 == 3.0, 3.0 is a float if dividend or divisor are floats.
Reply


Messages In This Thread
rounding and floats - by Than999 - Oct-26-2020, 09:08 PM
RE: rounding and floats - by bowlofred - Oct-26-2020, 09:16 PM
RE: rounding and floats - by deanhystad - Oct-26-2020, 09:36 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  When is it safe to compare (==) two floats? Radical 4 737 Nov-12-2023, 11:53 AM
Last Post: PyDan
  need help rounding joseph202020 7 1,338 Feb-21-2023, 08:13 PM
Last Post: joseph202020
  from numpy array to csv - rounding SchroedingersLion 6 2,204 Nov-14-2022, 09:09 PM
Last Post: deanhystad
  floats 2 decimals rwahdan 3 1,638 Dec-19-2021, 10:30 PM
Last Post: snippsat
  Random data generation sum to 1 by rounding juniorcoder 9 3,443 Oct-20-2021, 03:36 PM
Last Post: deanhystad
  Rounding issue kmll 1 1,424 Oct-08-2021, 10:35 AM
Last Post: Yoriz
  Not rounding to desired decimal places? pprod 2 2,570 Mar-05-2021, 11:11 AM
Last Post: pprod
  Decimal Rounding error project_science 4 2,772 Jan-06-2021, 03:14 PM
Last Post: project_science
  Rounding to the nearest eight wallgraffiti 2 2,094 Jul-15-2020, 06:05 PM
Last Post: wallgraffiti
  int, floats, eval menator01 2 2,449 Jun-26-2020, 09:03 PM
Last Post: menator01

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020