近期有一个项目,在计算产品面积的时候,前端传值的单位为毫米,但是通过计算后面积的单位要保留平方米,使用Double.parseDouble(gdu) / 1000 * tmp / 1000与Double.parseDouble(gdu) * tmp) / 1000000的结果不一致,废话不多说直接上代码。
public class Test {
public static void main(String[] args) {
String cdu = "";
String kdu = "606";
String pm = "";
String gdu = "1970";
double tmp = StringUtils.isNotBlank(cdu) ? Double.parseDouble(cdu) : Double.parseDouble(kdu);
String a = "800";
// System.out.println(Double.parseDouble(a) / 1000 * Double.parseDouble(a) / 1000);
System.out.println("第一种=================" + Double.parseDouble(gdu) / 1000 * tmp / 1000);
pm = String.valueOf((Double.parseDouble(gdu) * tmp) / 1000000);
System.out.println("第二种=================" + pm);
}
}
展示结果:
通过结算很显然第二种的计算结果准确