JavaScript中Number类下几个常见的方法

本文介绍了JavaScript中Number类的几个关键方法,包括toPrecision()、toFixed()、toString()、Number()、toExponential()、valueOf()、Number.isInteger()、Number.isFinite()、Number.isSafeInteger()和Number.isNaN(),以及Number类的最大值和最小值。通过实例展示了每个方法的用法和返回结果,帮助读者更好地掌握这些方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)(2531)−(253−1)-(2^{53}-1)(2531)之间的所有整数。

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
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值