String转double或者float会有精度丢失的问题

float  [] value=new   float[5];



value[0]=Float.parseFloat(rs.getString(1));

value[1]=Float.parseFloat(rs.getString(2));

value[2]=Float.parseFloat(rs.getString(1));

value[4]=Float.parseFloat(rs.getInt(1)+"");



BigDecimal b1 = new BigDecimal(Float.toString(value[0]));

BigDecimal b2 = new BigDecimal(Float.toString(value[1]*3));

BigDecimal b3 = new BigDecimal(Float.toString(value[2]));





value[3]=(b1.subtract(b2)).subtract(b3).floatValue();

 转成BigDecimal进行计算

你可能感兴趣的:(String)