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