double类型的乘法问题

Posted mmabj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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初学者,小小记录一下,希望能够帮到你呀~

以上是关于double类型的乘法问题的主要内容,如果未能解决你的问题,请参考以下文章

性能数组乘法 Pearson

矩阵乘法性能,int vs double

java里面double 做乘法和加法会丢失精度嘛?

关于VC的最小二乘法曲线拟合算法问题

java中long最多能存64位,两个超过long类型的数据之间怎样进行乘法运算?

SSE2 双倍乘法比标准乘法慢