浮点数精度问题
有关浮点数的精度是一个老生常谈的问题了。
面试题中这个知识点出现的频率非常高:
0.1 + 0.2 === 0.3 // false
其中可以参阅 数字 章节。
这个问题很少会有面试官进一步的进行考察,如 “怎样让计算结果正确”,最常见的解决方案有两个:
- 计算过程中将数字转成整数计算
- 使用第三方库
第一个方案很好理解,将 0.1 与 0.2 扩大 10 倍,相加后再相除就得到了正确的结果:
((0.1 * 10) + (0.2 * 10)) / 10 === 0.3 // true
如果存在两位小数,则同时放大 100倍
,计算后再缩小 100倍
就可以了。
第二个方案可以有很多选择,这里列出了几个常用的第三方库:
本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。