Python 尝试将整数与小数分开时出错

Python 尝试将整数与小数分开时出错,python,int,Python,Int,我正在尝试创建一个模块,将小数与数字分开,因为我需要它用于一个项目。 但是,当我测试它时,整数的结果很好,但小数总是会出错: def seperate(decimal): integer = int(decimal) dec = decimal-integer print(dec, integer) 如果我说尝试进入2015.677,那么给出这个:0.6769999999072 2015 出了什么问题?您的错误是什么 我试过你的代码,它在Pytho

我正在尝试创建一个模块,将小数与数字分开,因为我需要它用于一个项目。 但是,当我测试它时,整数的结果很好,但小数总是会出错:


def seperate(decimal):
    integer = int(decimal)
    dec = decimal-integer
    print(dec, integer)

        
如果我说尝试进入2015.677,那么给出这个:0.6769999999072 2015


出了什么问题?

您的错误是什么

我试过你的代码,它在Python3.7上运行得很好

decimal = 3.5
integer = int(decimal)
dec = decimal-integer
print(dec, integer)
如果你告诉我们错误,也许我可以帮你多一点

问候

编辑:

在阅读了关于舍入问题的更新后,我使用了“round”函数并返回了小数点后的0.677部分。实际上,我建议您可以尝试这种替代方法, 为了让它正常工作,我们总是需要向它传递一个浮点值,它也适用于您的条件

def seperate(decimal):
    integer = int(decimal)
    decimal = str(decimal)
    dec = decimal[decimal.index('.')+1:]
    return(int(dec), integer)

怎么了?并请显示。请共享错误消息。当我在Python3中运行它时,它不会产生错误并返回预期的结果。什么是错误是十进制的,我不明白为什么