很奇怪,我在做除法运算获取一个double数据后,再乘以100转换为百分数时竟然出现位数增多的现象 不知为何 ,但是转换为float后再乘就会解决这个问题 这里记录一下:
BigDecimal b1 = new BigDecimal(Double.toString(11));
BigDecimal b2 = new BigDecimal(Float.toString(7635));
double ge = b1.divide(b2, 4, BigDecimal.ROUND_HALF_UP).doubleValue();
float zhuanhuan = (float)ge;
System.out.println(zhuanhuan*100);
b1除以7635后四舍五入的结果是0.0014,这个double的数值如果乘以100那么就会变成0.13999999999999999,而并非预期要得到的0.14,如果用float转换后就会正确!希望以后可以找到原因。