插件窝 干货文章 js如何转换为数值型

js如何转换为数值型

number 数字 函数 转换 420    来源:    2024-10-24
在 javascript 中,使用 number() 函数将值转换为数值型:字符串:number(string) 解析数字部分为数字。布尔值:true/false 转换为 1/0。对象:如果有 valueof 或 tostring 方法,则调用获取数字值。特殊情况:空值(空字符串、空数组、null、undefined)返回 0;infinity/-infinity 返回相应数字;nan 返回 nan。

如何将 JavaScript 值转换为数值型

在 JavaScript 中,将值转换为数值型涉及使用内置函数 Number()。此函数接受各种类型的值,包括字符串、布尔值和对象,并返回它们的数值等价物。

转换字符串

要将字符串转换为数字,可以使用 Number(string) 语法。函数将字符串中的数字部分解析为数字,而忽略任何非数字字符。

const numStr = '123.45';
const num = Number(numStr); // 结果:123.45

转换布尔值

布尔值 true 和 false 分别转换为数字 1 和 0。

const bool = true;
const num = Number(bool); // 结果:1

转换对象

如果对象具有 valueOf 或 toString 方法,则 Number() 函数将调用该方法以获取数字值。否则,它将返回 NaN(非数字)。

const obj = {
  valueOf() {
    return 10;
  }
};
const num = Number(obj); // 结果:10

特殊情况

  • 如果值为空字符串 ('')、空数组 ([])、null 或 undefined,Number() 函数将返回 0。
  • 如果值是 Infinity 或 -Infinity,Number() 函数将返回相应的数字。
  • 如果值是无效数字 (NaN),Number() 函数将返回 NaN。

注意:

  • Number() 函数不会改变原始值。它始终返回一个新的数值。
  • 如果无法转换值,Number() 函数将返回 NaN。因此,在使用转换后的值之前,建议检查它是否为 NaN。