double与float精度问题

因为计算机是用二进制0和1存储信息的,对于十进制的小数,需要先转成二进制才能存入计算机(整数部分除2取余,小数部分乘2取整),在十进制0.1和0.9之间(包括0.1和0.9)的小数,转换成二进制后只有0.5才能转换成有限小数,而其它的只能转换成无限小数.
float和double根据其精度来对该无限小数进行截取存入计算机,

下面出现的四舍五入问题也是由于精度问题导致的:

屏幕快照 2016-04-09 20.04.56.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容