在使用python编写程序(与Java相同)期间,我遇到了以下问题,我知道这是因为舍入错误。用于浮点准确性的Python和java包
a = 0.3
b = 0.6;
print(a+b) #returns 0.8999999999999999 which makes a+b==0.9 false
我想知道是否有任何包在Python(和Java),它可以使生活更容易为这种情况,而不是定义应用程序绑定错误,自己检查它只是导入包,它需要其余的照顾。 (像发生在未来包中的分区:http://legacy.python.org/dev/peps/pep-0238/)
编辑:到目前为止(2016年7月),因为我知道它只是您可以使用它的Decimal类。问题是我不喜欢每次Decimal类定义的方式,而不是仅仅为变量赋值。我只是在寻找一个包,导入后,它会照顾的数字,并将其自动转换为十进制(如发生在future
包,导入后需要照顾分工操作)。无论如何,我认为这个问题的最佳解决方案,到目前为止使用python中Decimal
和Java中
那么,什么是你想要这样的包做一些事情呢? – 2014-10-05 13:00:02
我已经知道python中的Decimal类。问题是我不喜欢每次Decimal类定义的方式,而不是仅仅为变量赋值。如果我们导入它,它会考虑浮点,比如自动将所有浮点值更改为Decimal类。我非常肯定它可以在python中实现(并且可能可以通过注入和在java中使用BigDeicmal类来完成)。我知道在java中很难做到这一点,但可能应该有其他的东西,而不是在python中使用Decimal。 – Reza 2014-10-06 16:31:29