遇到了一个问题,两个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初学者,小小记录一下,希望能够帮到你呀~