您的位置:首页 > 其它

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

2011-09-05 11:44 281 查看
很奇怪,我在做除法运算获取一个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转换后就会正确!希望以后可以找到原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: