Tag: 四舍五入错误

BigDecimal乘以零

我正在用BigDecimal执行一个简单的乘法,当乘以零(在这个用例中乘以零是正确的)时,我发现了一些奇怪的行为。 基本的math告诉我乘以零的东西将等于零(参见: 零产品属性和乘法属性 ) 但是,下面的代码将始终以相同的错误失败: assertEquals(new BigDecimal(0), new BigDecimal(22.3).multiply(new BigDecimal(0))); java.lang.AssertionError: Expected :0 Actual :0E-48 这是一个BigDecimal不准确或有一些math的一个利基分支,我失踪的地方? 注意:在IntelliJ 11中运行的JDK 1.6.0_27