例如:
String a = "12.33";
String b = "11.66";
double aa = Double.parseDouble(a);
double bb = Double.parseDouble(b);
System.out.println("未转换前:"+(bb+aa));
这段代码输出---未转换前:23.990000000000002
用一个类BigDecimal来操作,改动后
String a = "12.33";
String b = "11.66";
double aa = Double.parseDouble(a);
double bb = Double.parseDouble(b);
BigDecimal BDaa = new BigDecimal(aa);
double result = BDaa.add(new BigDecimal(bb)).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("转换后:"+result);
结果输出---转换后:23.99
这样就解决了转换后精度丢失的问题