JavaScript中为何0.1+0.2不等于0.3等运算结果异常?

2026-04-06 12:150阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计437个文字,预计阅读时间需要2分钟。

JavaScript中为何0.1+0.2不等于0.3等运算结果异常?

gistfile1.txt + 发现的问题: console.log(0.1 + 0.2); // 0.30000000000000004console.log(0.3 - 0.2); // 0.09999999999999998console.log(19.9 * 100); // 1989.9999999999998原因:JavaScript 中的 number 类型就是浮点型,JavaScript 中的浮点

JavaScript中为何0.1+0.2不等于0.3等运算结果异常?

gistfile1.txt

发现的问题: console.log(0.1+0.2); //0.30000000000000004 console.log(0.3-0.2); //0.09999999999999998 console.log(19.9*100); //1989.9999999999998 原因: JavaScript 中的 number 类型就是浮点型,JavaScript 中的浮点数采用IEEE-754 格式的规定,这是一种二进制表示法,可以精确地表示分数,比如1/2,1/8,1/1024,每个浮点数占64位。但是,二进制浮点数表示法并不能精确的表示类似0.1这样 的简单的数字,会有舍入误差。 由于采用二进制,JavaScript 也不能有限表示 1/10、1/2 等这样的分数。

阅读全文

本文共计437个文字,预计阅读时间需要2分钟。

JavaScript中为何0.1+0.2不等于0.3等运算结果异常?

gistfile1.txt + 发现的问题: console.log(0.1 + 0.2); // 0.30000000000000004console.log(0.3 - 0.2); // 0.09999999999999998console.log(19.9 * 100); // 1989.9999999999998原因:JavaScript 中的 number 类型就是浮点型,JavaScript 中的浮点

JavaScript中为何0.1+0.2不等于0.3等运算结果异常?

gistfile1.txt

发现的问题: console.log(0.1+0.2); //0.30000000000000004 console.log(0.3-0.2); //0.09999999999999998 console.log(19.9*100); //1989.9999999999998 原因: JavaScript 中的 number 类型就是浮点型,JavaScript 中的浮点数采用IEEE-754 格式的规定,这是一种二进制表示法,可以精确地表示分数,比如1/2,1/8,1/1024,每个浮点数占64位。但是,二进制浮点数表示法并不能精确的表示类似0.1这样 的简单的数字,会有舍入误差。 由于采用二进制,JavaScript 也不能有限表示 1/10、1/2 等这样的分数。

阅读全文