double数据乘以100出现位数变多问题
2011-09-05 11:44
281 查看
很奇怪,我在做除法运算获取一个double数据后,再乘以100转换为百分数时竟然出现位数增多的现象 不知为何 ,但是转换为float后再乘就会解决这个问题 这里记录一下:
b1除以7635后四舍五入的结果是0.0014,这个double的数值如果乘以100那么就会变成0.13999999999999999,而并非预期要得到的0.14,如果用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精度丢失的奇怪问题?
- Asterisk 并发量到100后就出现拨打电话挂机问题
- IMP导入数据 出现ORA-01691问题 解决办法
- 关于Java程序(WEB程序)数据提交到Mysql,Mysql数据出现乱码的问题
- 关于数据库插入数据出现乱码问题
- 同一个id出现多条数据的问题
- Top K 算法(从n多个数据中查找出现频率最多的前m个的问题)
- mysql sum 统计字段数值类型是double出现精度失真问题
- SqlServer数据复制出现的问题与处理
- ListView优化机制及滑动时数据时出现的数据错乱重复问题
- Orace查询数据出现乱码的问题解决思路
- JSP中拼装数据为XML出现的问题
- python的sqlaclchemy模块连接mysql数据出现中文乱码问题
- Mysql乱码问题; 在java中,向数据库中插入数据出现乱码
- Windows socket通信出现接收数据时出现recv返回大于0,但缓冲区为大小为0的问题
- layui问题之渲染数据表格时,仅出现10条数据
- 也说php从mysql数据库通过服务器端json返回数据出现乱码问题
- 使用Mina实现数据采集时出现的断包、半包的问题处理
- TCP同步传送数据示例以及可能出现问题分析
- 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题