double数据乘以100出现位数变多问题

很奇怪,我在做除法运算获取一个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转换后就会正确!希望以后可以找到原因。


你可能感兴趣的:(double数据乘以100出现位数变多问题)