toPrecision()
很简单,toPrecision( )
方法用于对数字格式化到指定精度。看例子:
const num = 213.45689;
console.log(num.toPrecision());
console.log(num.toPrecision(4));
console.log(num.toPrecision(12));
console.log(num.toPrecision(5));
输出:
> "213.45689"
> "213.5"
> "213.456890000"
> "213.46"
注意,括号中的参数只能在1到100范围内。
const num = 213.45689;
console.log(num.toPrecision(0));
输出:
Error: toPrecision() argument must be between 1 and 100
toFixed()
toFixed( )
用于固定小数点后面的位数。看例子:
const num = 213.45689;
console.log(num.toFixed());
console.log(num.toFixed(4));
console.log(num.toFixed(12));
console.log(num.toFixed(5));
输出:
> "213"
> "213.4569"
> "213.456890000000"
> "213.45689"
注意,参数默认为0,范围是0到100。
const num = 213.45689;
console.log(num.toFixed(110));
输出:
Error: toFixed() digits argument must be between 0 and 100
toString()
toString( )
方法太熟悉了,这里当然不仅仅能够将数字转换为字符串,还能将数字转换为响应的进制数。
const num = 1023;
console.log(num.toString());
console.log(num.toString(2));
console.log(num.toString(8));
console.log(num.toString(16));
输出:
> "1023"
> "1111111111"
> "1777"
> "3ff"
Number()
Number()
用于将数据转换为数字
let value = true;
console.log(Number(value));
value = false;
console.log(Number(value));
value = "1";
console.log(Number(value));
value = "-2.1";
console.log(Number(value));
value = "True";
console.log(Number(value));
value = "ab";
console.log(Number(value));
输出:
> 1
> 0
> 1
> -2.1
> NaN
> NaN
toExponential()
toExponential()
用于将数字转化为指数形式。
let num = 2.13456;
console.log(num.toExponential());
console.log(num.toExponential(0));
console.log(num.toExponential(2));
console.log(num.toExponential(8));
num = 2123.1345;
console.log(num.toExponential());
输出:
> "2.13456e+0"
> "2e+0"
> "2.13e+0"
> "2.13456000e+0"
> "2.1231345e+3"
可以看出,参数还是用于确定小数点后的位数,如果小数点前大于1位,那么默认输出也是小数点前保留一位。
valueOf()
valueOf( )
用于返回数字的原始值。
let num = 2.13456;
console.log(num.valueOf());
num = -2.13456;
console.log(num.valueOf());
num = 0;
console.log(num.valueOf());
num = 0/0;
console.log(num.valueOf());
num = 'ab';
console.log(num.valueOf());
num = '12';
console.log(num.valueOf());
输出:
> 2.13456
> -2.13456
> 0
> NaN
> "ab"
> "12"
Number.isInteger()
Number.isInteger()
判断是否是整数。
let num = 2;
console.log(Number.isInteger(num));
num = -2;
console.log(Number.isInteger(num));
num = 1.2;
console.log(Number.isInteger(num));
num = 0;
console.log(Number.isInteger(num));
num = 0/0;
console.log(Number.isInteger(num));
num = 'ab';
console.log(Number.isInteger(num));
num = '12';
console.log(Number.isInteger(num));
输出:
> true
> true
> false
> true
> false
> false
> false
Number.isFinite()
Number.isFinite()
用于判断一个数字是否是有限数字。
let num = 2;
console.log(Number.isFinite(num));
num = "2";
console.log(Number.isFinite(num));
num = 1.2;
console.log(Number.isFinite(num));
num = 0;
console.log(Number.isFinite(num));
num = 0/0;
console.log(Number.isFinite(num));
num = 'ab';
console.log(Number.isFinite(num));
num = '12';
console.log(Number.isFinite(num));
输出:
> true
> false
> true
> true
> false
> false
> false
注意,这个方法是不会先对传入参数进行数字转换的,所以最后一个例子当输入是’12'
的时候,输出也是false
。
isSafeInteger()
isSafeInteger()
该方法用于判断一个数字是否是一个安全数,那么问题来了,啥叫安全数:一个数字可以表示为IEEE-754双精度数,即从(253−1)(2^{53}-1)(253−1)到−(253−1)-(2^{53}-1)−(253−1)之间的所有整数。
let num = 2;
console.log(Number.isSafeInteger(num));
num = "2";
console.log(Number.isSafeInteger(num));
num = 1.2;
console.log(Number.isSafeInteger(num));
num = 0;
console.log(Number.isSafeInteger(num));
num = 0/0;
console.log(Number.isSafeInteger(num));
输出:
> true
> false
> false
> true
> false
Number.isNaN()
判断一个数字是不是NaN
。
let num = 2;
console.log(Number.isNaN(num));
num = "2";
console.log(Number.isNaN(num));
num = 1.2;
console.log(Number.isNaN(num));
num = NaN;
console.log(Number.isNaN(num));
num = 0/0;
console.log(Number.isNaN(num));
输出:
> false
> false
> false
> true
> true
Number.MAX_VALUE & Number.MIN_VALUE
顾名思义,就是Number类中的最大值和最小值。
let num = Number.MAX_VALUE;
console.log(num);
num = Number.MIN_VALUE;
console.log(num);
输出:
> 1.7976931348623157e+308
> 5e-324