SO社区是正确的,在询问性能问题之前对代码进行性能分析比我随机猜测更有意义 :-) 我对我的代码进行了性能分析(非常密集的数学计算),没有意识到超过70%的代码显然位于我认为不会导致减速的部分,即小数精度四舍五入。
static double roundTwoDecimals(double d) {
DecimalFormat twoDForm = new DecimalFormat("#.###");
return Double.valueOf(twoDForm.format(d));
}
我的问题是我会得到一些十进制数,通常是0.01,0.02等等...但有时候我会得到像0.070000000001这样的数字(我只关心0.07,但浮点精度导致其他公式计算失败),我只想要前三位小数以避免这个问题。
那么有更好/更快的方法来解决这个问题吗?
BigDecimal
。 - Eng.Fouad