double类型的乘法问题

遇到了一个问题,两个double相乘,结果不正确,好长,很奇怪

参考了BigDecimal类的加减乘除(解决double计算精度问题)Java double 相乘的小问题记录

终于解决了问题,下面提供一下代码

1 public static void main(String[] args){
2         BigDecimal a1 = new BigDecimal(454.585);
3         BigDecimal aa = new BigDecimal(0.05);
4         Double dd=a1.multiply(aa).doubleValue();
5         System.out.println( dd);
6     }

  

如果结果还是很长,不正确的话,把 

BigDecimal aa = new BigDecimal(0.05); 改成
BigDecimal aa = new BigDecimal(Double.toString(0.05));

作为一个Java初学者,小小记录一下,希望能够帮到你呀~

猜你喜欢

转载自www.cnblogs.com/mmabj/p/9066485.html