• S中只有一种类型数,即64位(1bit 的符号位,11bits 的指数部分 ,以及52bits 的小数部分)双精度浮点数,当整数数值过大时,就会发生精度丢失。
  • 所谓安全整数即能够唯一确定的数字,即能够使用64位二进制数唯一确定的整数。考虑253,转换成对应表示方式后其小数部分总共包括53位,发生了精度丢失,所以在JS中无法区别253与2^53+1;
  • 安全整数与JS是否能够正确进行运算关系密切,当运算数与运算结果都处于安全整数的范围内时,才能保证JS运算结果正确。

ES6之数字操作

// 声明一个二进制 (Binary)
let binary = 0B010101;
document.write(binary) // // 声明八进制 Octal
let octal = 0o666;
document.write(octal) // let a = 11/4;
//es6数字的判断都放在了Number中
// isFinite() 函数用来判断被传入的参数值是否为一个有限数值(finite number)
// 整数浮点型都为true
console.log(Number.isFinite(a)); //true
console.log(Number.isFinite('ananiah')); //false
console.log(Number.isFinite(NaN)); //false
console.log(Number.isFinite(undefined)); //false //NaN
console.log(Number.isFinite(1)) // 判断是否是整数 isInteger
let anania = 123.1;
console.log(Number.isInteger(anania)) //false
console.log(Number.parseInt(anania)) //123
console.log(Number.parseFloat(anania)) //123.1 //2 的53次方是最大值 最大值减一为计算机安全值
let ananiah = Math.pow(2,53)-1;
//最小值
let minananiah = -Math.pow(2,53)-1;
console.log(ananiah) //
console.log(minananiah) //-9007199254740992
console.log(Number.MAX_SAFE_INTEGER) //9007199254740991 最大值
console.log(Number.MIN_SAFE_INTEGER) //-9007199254740991 最小值
console.log(Number.isSafeInteger(ananiah)) // true 判断是否是安全整数

最新文章

  1. c++队列基本功能
  2. DOM解析示例
  3. 2015项目timeline
  4. 使用AJAX填充<select>标签下拉项,没有显示指定的option项
  5. offset笔记
  6. hdu 1622 Trees on the level
  7. 【BZOJ】【2818】Gcd
  8. <译>Selenium Python Bindings 6 - WebDriver API
  9. MongoDB入门三步曲3--部署技术:主备、副本集和数据分片
  10. Buddy system伙伴分配器实现
  11. oracle常用命令总结
  12. 网络编程 socket-实例
  13. Couchbase 服务器
  14. VS超强调试技巧--忍不住想赞一下
  15. Think In Java_读书笔记_042516
  16. Apollo配置中心动态刷新日志级别
  17. 【入门】Spring-Boot项目配置Mysql数据库
  18. Linux学习历程——Centos 7 ps命令基础
  19. 备份LeetCode OJ自己编写的代码
  20. JAVA Aes加解密详解

热门文章

  1. 弹性盒子中的order
  2. PuppeteerSharp读取页面完整HTML(.NetCore)
  3. Pikachu-XSS
  4. linux的常用命令(一)
  5. Java基础语法05-面向对象-封装-包-构造器-初始化
  6. 如何提高 PHP 代码的质量?第三:端到端 / 集成测试
  7. Java面试官:兄弟,你确定double精度比float低吗?
  8. 从零开始ant-design-vue-pro开发笔记(一)
  9. HTML 表单模板
  10. OSG嵌入QT的简明总结