我正试图在python中执行除法运算,(3000/365)*365
它打印3000.00000000000005。而实际上这应该返回3000?
有人能帮我理解我在这里错过了什么吗?
编程语言存在浮点运算错误。有时会引起这种问题。
https://docs.python.org/3/tutorial/floatingpoint.html
浮点数学坏了吗?
如上所述,这是因为使用浮点时的精度。
一个解决方案是将结果四舍五入:
(round(3000/365*365,2)
如果你不想要浮动,你可以使用int
int((round(3000/365*365,2))
不确定是否还有其他方法,但希望这能有所帮助。