在用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月),据我所知,这是唯一的十进制类,你可以使用它。问题是,我不喜欢这样的方式,我们应该定义每一个时间十进制类,而不是仅仅分配变量的值。我只是想找一个在导入之后处理数字并自动转换成十进制的包(就像在future
包中发生的那样,导入之后处理除法操作)。无论如何,我认为到目前为止解决这个问题的最好方法是在python中使用Decimal
,在Java中使用BigDecimal
类
是的,看看十进制库:https://docs.python.org/2/library/decimal.html
返回
True
。你知道吗以及
返回
0.9
。你知道吗这里列出了一些其他选项:Clarification on the Decimal type in Python
相关问题 更多 >
编程相关推荐