JavaScript 浮点数值:0.1 + 0.2 不等于 0.3


prtyaa
prtyaa 2023-12-26 18:33:01 66820
分类专栏: 资讯

1、浮点数值

所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。

例如: const floatNum = 0.1;

2、浮点数值的保存

保存浮点数值需要的内存空间是保存整数值的 2 倍,因此ECMAScript会不失时机的将浮点数值转换为整数值。

例如:

  • const floatNum1 = 1.; // 小数点后面没有数字,解析为1
  • const floatNum2 = 1.0; // 整数——解析为1

3、e/E 表示法

对于浮点数值,极大或极小的数值,可以用 e 表示法(即科学计数法)表示。

例如:

  • const floatNum3 = 3.125e7; // 等于 31250000
  • const floatNum4 = 3e-17; // 等于 0.00000000000000003

4、0.1 + 0.2 不等于 0.3

浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确到远远不如整数。浮点数的计算会产生舍入误差的问题,这是使用基于IEEE754(IEEE二进制浮点数算术标准)数值的浮点计算通病。

例如: 0.1 + 0.2 的结果不是 0.3, 而是 0.30000000000000004

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31016
赞同 0
评论 0 条