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

error when trying to separate a integer from a decimal

我正在尝试创建一个模块,根据我的项目需要将小数点与数字分开。 然而,当我测试它时,整数很好,但小数总是出错:


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

        

如果我说尝试输入 2015.677,它会给出:0.6769999999999072 2015

怎么了?

您遇到的错误是什么?

我试过你的代码,它在 Python 3.7

上工作得很好
decimal = 3.5
integer = int(decimal)
dec = decimal-integer
print(dec, integer)

如果您将错误告诉我们,也许我可以为您提供更多帮助。

此致!

编辑:

阅读关于舍入问题的更新后,我使用了“舍入”函数并返回了小数的 0.677 部分。

其实我的建议是你可以试试这个替代方法, 为了让它正常工作,我们总是需要向它传递一个浮动值,它也适用于您的条件

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