Number 数字类型详解

Number 数字类型详解

1. Number类型

在现代 JavaScript 中,数字 Number 有两种类型:

  • JavaScript 中的常规数字以 64 位的格式 IEEE-754 存储,也被称为双精度浮点数。

  • BigInt 数字,用于表示任意长度的整数。有时会需要它们,因为常规数字不能安全地超过 253 或小于 -253,仅在少数特殊领域才会用到 BigInt

let num = 22; // Number
let num1 = 23426456456456n; // BigInt
属性 描述
Number.MAX_VALUE JavaScript 中所能表示的最大值
Number.MIN_VALUE JavaScript 中所能表示的最小值
Number.NaN 非数字
Number.NEGATIVE_INFINITY 负无穷,在溢出时返回
Number.POSITIVE_INFINITY 正无穷,在溢出时返回
Number.EPSILON 表示 1 与 Number 所能表示的大于 1 的最小浮点数之间的差
Number.MIN_SAFE_INTEGER 最小安全整数,即 -9007199254740991
Number.MAX_SAFE_INTEGER 最大安全整数,即 9007199254740991

整数 就是整数,例如 10, 400,或者 -5

浮点数 (浮点) 有小数点或小数位,例如 12.5,和 56.7786543,浮点数值的最高精度是 17 位小数

双精度 双精度是一种特定类型的浮点数,它们具有比标准浮点数更高的精度

2. 数字编写方式

ES2021,允许JavaScript 的数值使用下划线(_)作为分隔符

这个数值分隔符没有指定间隔的位数,也就是说,可以每三位添加一个分隔符,也可以每一位、每两位、每四位添加一个,小数和科学计数法也可以使用数值分隔符

let num = 1_000_000_000;// 1000000000
// 与1000000000相等

let num1 = 0.00_00_7; // 0.00007
// 与0.00007相等

数值分隔符有几个使用注意点

  • 不能放在数值的最前面或最后面
  • 不能两个或两个以上的分隔符连在一起
  • 小数点的前后不能有分隔符
  • 科学计数法里面,表示指数的 eE 前后不能有分隔符

JavaScript 中,我们可以通过在数字后面附加字母 "e" 并指定零的个数来缩短数字

e 把数字乘以 1 后面跟着给定数量的 0 的数字

e 后面的负数表示除以 1 后面跟着给定数量的 0 的数字

let num = 1e5; // 100000

// 0.34的左边有两个0
let num1 = 0.34e-2; // 0.34/100 = 0.0034

3. 进制转换

num.toString(base)

返回在给定 base 进制数字系统中 num 的字符串表示形式

base 的范围可以从 236。默认情况下是 10

  • base=2 计算机的最基础语言,主要用于调试按位操作,数字可以是 01
  • base=8 数字可以是 0..7
  • base=10 全世界通用的十进制,数字可以是 0..9 ,进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值
  • base=16 用于十六进制颜色,字符编码等,数字可以是 0..9A..F
  • base=36 是最大进制,数字可以是 0..9A..Z。所有拉丁字母都被用于了表示数字
// num.toString(base) base范围为2-36 默认为10
let num = 255;
console.log(num.toString(10)); // 255
console.log(num.toString(2)); // 11111111
console.log(num.toString(8)); // 377
console.log(num.toString(16)); // ff
console.log(num.toString(36)); // 73


// 将m进制的num 转换为n进制
function main(num, m, n) {
   
	var s = num + '';
	var result = parseInt(s, m)
		.toString(n);
	return result;
}
main('ff', 16, 2)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值