有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于浮点精度的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月),据我所知,它是唯一可以使用的十进制类。问题是,我不喜欢我们应该定义每个时间十进制类,而不是仅仅为变量赋值。我只是在寻找一个包,在导入之后,它会处理数字,并自动将它们转换为十进制(比如future包中发生的事情,导入之后它会处理除法操作)。无论如何,我认为目前为止解决这个问题的最好方法是在python中使用Decimal,在Java中使用BigDecimal


共 (1) 个答案