我正在用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
我在几个地方(在文档和这个博客文章中阅读: http : //blogs.mathworks.com/loren/2007/05/16/purpose-of-inv/ )看到,在Matlab中使用inv不是build议,因为它是缓慢和不准确的。 我试图找出这个不准确的原因。 到目前为止,Google并没有给出有意思的结果,所以我认为这里有人可以指导我。 谢谢 !