数值相关

原生

parseInt()

parseFloat()

isFinite()

isNaN()

toFixed()

  • 返回包含指定小数点位数的数值字符串。

  • 接收一个参数,表示结果中小数的位数。如果数值本身的小数位超过了参数指定的位数,则四舍五入到最接近的小数位。

let num = 10; 
console.log(num.toFixed(2)); // "10.00"

toExponential()

  • 返回以科学记数法(也称为指数记数法)表示的数值字符串。

  • 接收一个参数,表示结果中小数的位数。

let num = 10; 
console.log(num.toExponential(1)); // "1.0e+1"

toPrecision()

  • 会根据情况返回最合理的输出结果,可能是固定长度,也可能是科学记数法。

  • 接收一个参数,表示结果中数字的总位数(不包含指数)。

  • toPrecision()方法会根据数值和精度来决定调用 toFixed()还是 toExponential()。

let num = 88;
console.log(num.toPrecision(1)); // "9e+2"
console.log(num.toPrecision(2)); // "88"
console.log(num.toPrecision(3)); // "88.0"

Number.isInteger()

  • 辨别一个数值是否保存为整数。
console.log(Number.isInteger(1)); // true 
console.log(Number.isInteger(1.00)); // true
console.log(Number.isInteger(1.1)); // false

Number.isSafeInteger()

  • 鉴别整数是否在-2^53 + 1到2^53-1这个范围内,左闭右闭。
console.log(Number.isSafeInteger(-1 * (2 ** 53))); // false 
console.log(Number.isSafeInteger(-1 * (2 ** 53) + 1)); // true
console.log(Number.isSafeInteger(-1 * (2 ** 50))); // true
console.log(Number.isSafeInteger(2 ** 53)); // false
console.log(Number.isSafeInteger((2 ** 53) - 1)); // true
console.log(Number.isSafeInteger((2 ** 50))); // true