js 数字及es6拓展

存储位置

  • js所有数值用64位比特位存储
  • 52位值 11位指数 1位符号

写法

var x = 123;//整数
var y = 012;//8进制写法
var z = 0x12;//16进制写法
var q = 12e3;//科学计数法
var w = 123.4;//浮点数

es6新增

  • 0b开头表示2进制
  • 0o开头表示八进制

精度问题

  • 其它语言导致的问题
  • 可以用Number.EPSILON 控制
var x = 0.2+0.1; // 输出结果为 0.30000000000000004
x - 0.3 <= Number.EPSILON; //true

进制转换

  • toString 可以转换2-自身的任意进制 的字符串格式数字
var a = 123;
a.toString(3); //11120 三进制
a.toString(2); //1111011 二进制
a.toString(124); // 报错

转换

  • Number.protptype.toFixed(size) 保留小数位数
  • Number.protptype.toPrecision(指数) 保留指定精度 返回字符串 指数格式
  • Number.protptype.toExponential() 返回一个数字的指数形式的字符串,如:1.23e+2
  • Number.parseFloat(number) 转换浮点数
  • Number.parseInt(number) 转换整数

无穷值

  • Infinity 无穷
  • Number.NEGATIVE_INFINITY 负无穷
  • Number.POSITIVE_INFINITY 正无穷

安全整数

  • js中整数的范围在2e-53~2e53(不含两端)内精度是可控的
  • Number.MAX_SAFE_INTEGER 上限
  • Number.MIN_SAFE_INTEGER 下限
  • Number.isSafeInteger() 判断一个数是否是安全整数 判断运算结果最好加上这个

NaN

  • NaN 不是一个数字
  • NaN 不等于任何数 包括NaN
  • 判断是不是一个数字需要用isNaN()
NaN==NaN//false 

一些常用方法

  • Number.isFinite() 是否是一个有限数字
  • Number.isInteger() 是否整数
  • Number.isNaN() 是否不是一个数字
  • Number.isSafeInteger() 是否是安全整数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值