JavaScript中数值小知识

1. 数值10.0 这种类似的会被去掉数值后的0

之所以这样是因为,整数的存储空间占用比浮点数小,当一个数值不是真浮点数(即10.0这种格式),会被转换为整数10,如果业务中有一些需求需要进行数值位数保留,则需要转换数值为字符串


image.png

2.小数多余六个0,会被转换为科学计数法

image.png

3.初学者面试题 0.1+ 0.2 !== 0.3

之所以存在这种舍入错误,是因为使用了 IEEE 754 数值,这种错误并非 ECMAScript 所独有(JAVA也存在这个问题)。其他使用相同格式的语言也有这个问题,简单解释就是在计算机中对于0.1 0.2 有些这种浮点数不能完整表示 类似于与 1/3 = 0.3333333无限循环这种情况
前端对于这种情况存在一些三方库可以做到计算精确

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 ...
    硅谷干货阅读 1,839评论 0 0
  • 使用 typeof bar === “object” 判断 bar 是不是一个对象有神马潜在的弊端?如何避免这种弊...
    Roselle_c阅读 2,750评论 0 0
  • 先来看一道很常见的面试题:JavaScript中有哪几种基本数据类型 ?在看下面的答案之前你可以自己试着答一下 答...
    Shaneee阅读 3,372评论 3 0
  • 一:问题的提出 在JS中有时候会碰到浮点数计算的问题,比如下面的代码: 根据结果看,为什么0.2 - 0.1 = ...
    安静的牛蛙阅读 8,545评论 0 4
  • 由于我使用的lua for windows是 5.1.5 版本所以很多 5.3 的特性并不能使用,比如说整型。 3...
    大宝777阅读 4,177评论 0 0