[New-bugs-announce] [issue30009] Integer conversion failure

Tri Nguyen report at bugs.python.org
Fri Apr 7 00:02:05 EDT 2017


New submission from Tri Nguyen:

This code below shows a situation when Python int() library would return a value of int(1.0) -> 0.0

---------------CODE----------------------------
CHANGES = [1.00, 0.50, 0.25, 0.10, 0.05, 0.01]

# This code was originally to solve the least number of changes needed.
# However, in an attempt to solve this. A bug is found.

def get_change(R):
    for change in CHANGES:
        # This division and int() is where failure is happening
        num = int(R / change)
        # This printing line shows the failure.
        print 'int(%s)\t = %s' % (R / change, num)
        R = R - num * change
    print 'R = %s' % R

get_change(4.01)

-------------OUTPUT----------------------

int(4.01)	 = 4
int(0.02)	 = 0
int(0.04)	 = 0
int(0.1)	 = 0
int(0.2)	 = 0
int(1.0)	 = 0    # This should be 1, right?
R = 0.01

----------
components: Library (Lib)
files: int_bug.py
messages: 291249
nosy: nvutri
priority: normal
severity: normal
status: open
title: Integer conversion failure
type: behavior
versions: Python 2.7
Added file: http://bugs.python.org/file46783/int_bug.py

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue30009>
_______________________________________


More information about the New-bugs-announce mailing list