JS小数精度问题 为什么 0.1+0.2 不等于 0.3

Posted 沿着路走到底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS小数精度问题 为什么 0.1+0.2 不等于 0.3相关的知识,希望对你有一定的参考价值。

计算机使用二进制来存储数据

整数转换二进制没有误差,如9转换成二进制是 1001

而小数可能无法用二进制准确表达,如0.2转换为 1.1001100...

不只是JS,其他编程语言也都一样

解决办法

1、保留小数位数 toFixed()

注意:toFixed()保留完是字符串,需要转数字类型

2、可以通过先乘10的倍数,然后再除,比如 我要保留两位小数 那我就乘100,运算完后再除100

3、使用第三方库 mathjs

mathjs - npm 

1

创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于JS小数精度问题 为什么 0.1+0.2 不等于 0.3的主要内容,如果未能解决你的问题,请参考以下文章

前端面试 JavaScript— 0.1+0.2为什么不等于0.3?如何实现等于0.3?

第23天 [js] js精度计算问题

js 小数加法的精度问题解决(0.1+0.2 != 0.3,怎么解决?)

JS的计算时精度丢失问题

js加减乘除精度

为什么在JavaScript中0.1+0.2不等于0.3?