关于double类型相乘的精度问题

double db1 = 12.13;

double db2 = 12.13;

/**
* 提供精确的乘法运算。
* @param v1 被乘数
* @param v2 乘数
* @return 两个参数的积
*/
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
没有精度的计算答案:147.13690000000003

有精度的计算答案:147.14
————————————————
版权声明:本文为CSDN博主「坚持初心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39937301/article/details/102893874

原文地址:https://www.cnblogs.com/wwssgg/p/14768638.html