【JavaScript 教程】第二章基础知识04—JavaScript Number

JavaScript教程2年前 (2023)发布 admin
3,006 0

在上节中,我们学习了JavaScript的数据类型,错过的小伙伴可以点击文章《【JavaScript 教程】第二章基础知识03—JavaScript 数据类型》进行学习。

那么,在今天的教程中,我们将一起来学习了解 JavaScript Number类型及其有效处理数字的有用方法。

JavaScript 数字类型介绍

除了原始数字类型,JavaScript 还为数值提供了 Number 引用类型。

要创建 Number 对象,请使用 Number 构造函数并传入一个数字值,如下所示:

var numberObject = new Number(100);

本示例定义了一个数值为 100 的 numberObject。

要从 Number 对象中获取原始值,请使用 valueOf() 方法,如下所示:

console.log(numberObject.valueOf()); // 100

要以字符串形式获取数字值,请使用 toString() 或 toLocaleString() 方法。

toString() 方法接受一个可选参数,该参数确定显示数字的基数。基数(或基数)是表示位置数字系统中数字的唯一数字的数量。

例如,十进制系统使用从 0 到 9 的十位数字,因此基数为 10。

请参阅以下示例:

var aNumber = new Number(10);
console.log(aNumber.toString()); // “10”

在此示例中,aNumber 的原始值为 10,因此,toString() 方法在十进制系统中返回 10。

但是,以下示例返回 aNumber 变量的二进制形式。

console.log(aNumber.toString(2)); // “1010”

如果对原始数值调用方法,JavaScript 会暂时将其转换为 Number 对象。这个特性在 JavaScript 中称为原始包装器类型。例如:

let x = 10;
console.log(x.toString(16)); // “a”

格式化数字

要使用指定数量的小数点格式化数字,请使用 toFixed() 方法。

toFixed() 方法接受一个参数,该参数指示应使用多少个小数点。

numberObject.toFixed(decimalPlaces);

toFixed() 方法使用定点表示法返回数字的相应字符串。这是一个例子。

var distance = 19.006
console.log(distance.toFixed(2)); // 19.01

distance = 19.004;
console.log(distance.toFixed(2)); // 19.00

需要注意的是,Web 浏览器可能会以不同的方式使用舍入方法。因此,在使用 toFixed() 方法时应该小心,尤其是对于处理货币价值的应用程序。

要以电子表示法格式化数字,请使用 toExponential() 方法,如下例所示。

var x = 10, y = 100, z = 1000;

console.log(x.toExponential());
console.log(y.toExponential());
console.log(z.toExponential());

// “1e+1”
// “1e+2”
// “1e+3”

要获得指定精度的数字对象的字符串表示形式,请使用 toPrecision() 方法。

numberObject.toPrecision(precision);

precision 参数确定有效位数。

toPrecision() 方法以指数表示法或四舍五入到精度有效数字的定点返回 Number 对象的字符串表示形式。

请注意,如果省略 precision 参数,则 toPrecision() 方法的行为将类似于 toString() 方法。请参阅以下示例:

let x = 9.12345;
console.log(x.toPrecision()); // ‘9.12345’
console.log(x.toPrecision(4)); // ‘9.123’
console.log(x.toPrecision(3)); // ‘9.12’
console.log(x.toPrecision(2)); // ‘9.1’
console.log(x.toPrecision(1)); // ‘9’

在某些情况下可能会返回电子注释,例如:

x = 123.5;
console.log(x.toPrecision(2)); // “1.2e+2”

JavaScript 数字对象与原始数字

下表说明了 Number 对象和原始数字之间的区别:

【JavaScript 教程】第二章基础知识04—JavaScript Number

以下是示例:

let numberObject = new Number(10);
let number = 10;

// typeof
console.log(typeof numberObject);
console.log(typeof number);
// instanceof
console.log(numberObject instanceof Number); // true
console.log(number instanceof Number); // false

总结

在本教程中,我们学习并了解了Number格式化数字的类型和一些有用的方法。下节教程中,我们将学习Boolean类型。

最后,感谢您的阅读,敬请关注。

© 版权声明

相关文章

暂无评论

暂无评论...