public static void main(String[] args) {
long start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
double avgDeleteDelay = Double.valueOf(DECIMAL_FRORMAT
.format((double) RandomUtils.nextInt()
/ RandomUtils.nextInt()));
}
System.out.println(System.currentTimeMillis() - start);
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
double avgDeleteDelay = BigDecimal
.valueOf(RandomUtils.nextInt())
.divide(BigDecimal.valueOf(RandomUtils.nextInt()), 2,
RoundingMode.HALF_UP).doubleValue();
}
System.out.println(System.currentTimeMillis() - start);
}
输出
2840
538
本文通过一个简单的Java程序对比了使用BigDecimal进行除法运算与直接使用浮点数进行运算的性能差异。实验结果显示,在进行大量计算时,BigDecimal虽然能提供更精确的结果,但其运行速度明显慢于使用基本的双精度浮点数。
1135

被折叠的 条评论
为什么被折叠?



