主要原因:就是因为double会导致数据不准确,不准确的原因如下所示
高于大小的比特会被自动删除,但是在删除的过程中还需要遵循 IEEE-754 规范,这就是我们理解的删除不应该会让数变小吗?为什么计算机的计算会变大?
如果最后一位是1左移一位继续,循环此过程,而不像int是1也给你删除,这就是变大的原因了。
所以对于需要精确计算的一定要使用bigDecimal,比如设计钱的问题。
主要原因:就是因为double会导致数据不准确,不准确的原因如下所示
高于大小的比特会被自动删除,但是在删除的过程中还需要遵循 IEEE-754 规范,这就是我们理解的删除不应该会让数变小吗?为什么计算机的计算会变大?
如果最后一位是1左移一位继续,循环此过程,而不像int是1也给你删除,这就是变大的原因了。
所以对于需要精确计算的一定要使用bigDecimal,比如设计钱的问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/544125.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!