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中运行它时,它不会产生错误并返回预期的结果。什么是错误是十进制的,我不明白为什么