JavaScript中0.1 + 0.2 等于多少

0.3000000000000004。不会精确等于0.3。

首先,十进制的0.1和0.2会被转换成二进制的,二进制浮点数表示法并不能精确的表示类似0.1这样的数值,因为浮点数在转化为二进制时,会出现无限循环

0.1 -> 0.0001 1001 1001 1001...(1100循环)
0.2 -> 0.0011 0011 0011 0011...(0011循环)

两者相加之后得到二进制为再转换为十进制,会产生误差。

我想0.1+0.2 精确的等于0.3怎么办

num.toFixed(小数点位数)
先✖️10相加 再除10

小数如何取整,或保留几位小数

可以使用toFixed方法,可把 Number 四舍五入为指定小数位数的数字。

var num = 5.56789;
var n=num.toFixed(2);

输出:

5.57

你可能感兴趣的:(js,前端)