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

1、浮点数值

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

例如: const floatNum = 0.1;

2、浮点数值的保存

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

例如:

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

6f170d0f96c589bff41c10a3ec471a01.png

3、e/E 表示法

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

例如:

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

61dda684c054c21085111402c831c875.png

4、0.1 + 0.2 不等于 0.3

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

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

f2f907648ce97b9cc21c77d1cbc3254a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值