持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 7 天,点击查看活动详情
在 JavaScript 中,数字是一种基本的数据类型。JavaScript 还支持 Number 对象,该对象是原始数值的包装对象,在必要时,JavaScript 会自动地在原始数据和对象之间转换,在 JavaScript 1.1 中,还可以用构造函数 Number() 明确地创建一个 Number 对象。构造函数 Number() 可不与运算符 new 一起使用,而直接作为转化函数来使用。但以这种方式调用 Number() 时,它会把自己的参数转化成一个数字,然后返回转换后的原始数值(或 NaN)。
语法:var num = new Number(value);
isFinite() 方法
isFinite() 方法用于检测指定参数是否为无穷大。如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。Number.isFinite() 与全局的 isFinite() 函数不同,全局的 isFinite() 会先把检测值转换为 Number ,然后在检测。Number.isFinite() 不会将检测值转换为 Number对象,如果检测值不是 Number 类型,则返回 false。
console.log(Number.isFinite(123)); //true
console.log(Number.isFinite(-1.23)); //true
console.log(Number.isFinite(5-2)); //true
console.log(Number.isFinite(0)); //true
console.log(Number.isFinite('123')); //false
console.log(Number.isFinite('itbbfx')); //false
console.log(Number.isFinite('2022/06/03')); //false
console.log(Number.isFinite(Infinity)); //false
console.log(Number.isFinite(-Infinity)); //false
console.log( Number.isFinite(0 / 0) )//false
toExponential() 方法
toExponential() 方法可把对象的值转换成指数计数法。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。返回 Number Object 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。
var num=5.45521568;
console.log(num.toExponential(2));
toFixed() 方法
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
var num=5.45521568;
console.log(num.toFixed(3));
toPrecision() 方法
toPrecision() 方法以指定的精度返回该数值对象的字符串表示,四舍五入到 precision 参数指定的显示数字位数。定要转换为几位数,该参数是 1 ~ 100 之间(且包括 1 和 100 )的值。如果省略了该参数,则调用方法 toString(),返回原始数字的字符串形式。如果 precison 参数不在 1 和 100 (包括)之间,将会抛出一个 RangeError 。
var num=5.45521568;
console.log(num.toPrecision(3));
toString() 方法
toString() 方法数字的字符串表示。规定表示数字的基数,是 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。
- 2 - 数字以二进制值显示
- 8 - 数字以八进制值显示
- 16 - 数字以十六进制值显示
var num=15;
console.log(num.toString());
console.log(num.toString(2));
console.log(num.toString(8));
console.log(num.toString(16));
valueOf() 方法
valueOf() 方法可以字符串返回数字。
var num=15;
console.log(num.valueOf());