如何在JavaScript中把一个字符串转换成一个数字

141 阅读4分钟

在JavaScript中,操作字符串是很容易的,因为它为用户提供了一堆内置的方法来改变数值,删除字符和改变数据类型,并将其转换为数字。

将一个给定的字符串转换为数字是很有用的,可以通过各种JavaScript方法轻松完成。这对开发者来说是很有用的,这样他们就可以轻松地操作字符串的值并对这些数字进行计算。在这篇文章中,我们将讨论JavaScript提供的将字符串转换为数字的各种方法,并举例说明,以便更好地演示和理解。

将字符串转换为数字的方法

有时我们想对一些数字进行各种操作,而当这些数字的数据类型是字符串时,这些操作就无法进行。这就是为什么JavaScript为用户提供了内置的方法来将字符串转换为数字,并使对这些数字进行操作和不同运算的任务变得更容易。

下面是七种方法,你可以通过这些方法将提供的字符串转换为数字,同时还有例子供你更好地理解。

使用Number()

将字符串转换为数字的最常见方法之一是使用**Number()**方法,该方法接收一个字符串参数并返回数字值。如果提供的字符串不能转换为数字,那么该方法将返回非数字(NaN)值,下面是一个例子。

var example = "44.09"
var example2 = "45.00003"
var example3 = "46"
console.log(Number(example));
var a = Number(example2);
console.log(a)
console.log(Number(example3));

//check typeOf
console.log(typeof example2)
console.log(typeof a)

输出

使用parseInt()

另一种将字符串转换为数字的方法是使用parseInt(),它将任何数字值作为字符串,并将其转换为数字数据类型,但如果你传递的是小数,它将四舍五入并返回一个整数值,如下例所示。

var example = "445.7"
var example2 = "45.00003"
var example3 = "66"

var a = parseInt(example);
var b = parseInt(example2);
var c = parseInt(example3);

console.log(a)
console.log(b)
console.log(c)

//check typeOf
console.log(typeof example)
console.log(typeof a)

输出

使用parseFloat()

有时我们希望十进制的数字能够准确地返回,不做任何修改,为此我们使用**parseFloat()**方法。如果你传递多个数字或一个带有字符串的数字,那么只返回数字。但是如果你先指定字符串,然后再指定一个数字,那么该方法将无法将其转换为数字,它会返回NaN,正如下面的例子所示。

var example = "445.767"
var example2 = "45 50"
var example3 = "66 years"
var example4 = "year 1996"

var a = parseFloat(example);
var b = parseFloat(example2);
var c = parseFloat(example3);
var d = parseFloat(example4);

console.log(a)
console.log(b)
console.log(c)
console.log(d)

//check typeOf
console.log(typeof example3)
console.log(typeof c)

输出

使用单数运算符(+)

另一种将字符串转换为数字的方法是使用单数运算符 "+"和变量一起将字符串转换为数字,如下面的例子所示。

var example = "445.767"
var example2 = "45"

var a = +example
var b = +example2
console.log(a)
console.log(b)

//check type
console.log(typeof example)
console.log(typeof a)

输出

使用Math.floor()

这个方法接收一个字符串并返回数字数据类型,但对于小数来说,它只返回整数部分的数字,如下面的例子所示。

var example = "445.7"
var example2 = "45"

var a = Math.floor(example)
var b = Math.floor(example2)
console.log(a)
console.log(b)

//check type
console.log(typeof example)
console.log(typeof a)

输出

使用双斜线(~~)运算符

另一种简单地将字符串转换为数字的方法是在字符串中使用双斜线"~~",这将把任何字符串转换为数字。如果是小数,那么它只是简单地取整数部分而忽略小数部分。

var example = "60.67"
var example2 = "33"

var a = ~~example
var b = ~~example2
console.log(a)
console.log(b)

//check type
console.log(typeof example)
console.log(typeof a)

输出

与数字的乘法

将字符串转换为数字的最简单的方法是将该字符串与1相乘,这将返回一个数字。小数和整数的值都将以数字为数据类型返回,如下例所示。

var example = "60.67"
var example2 = "33"

var a = example*1
var b = example2*1
console.log(a)
console.log(b)

//check typeOf
console.log(typeof example)
console.log(typeof a)

输出

结论

将字符串转换为数字的方法有很多,有一些内置的方法,也有一些其他的运算符可以用于这个目的。在这篇文章中,我们讨论了不同的内置方法,以及一些将字符串转换为数字的方法。你可以简单地将字符串乘以1,这样就可以将其转换为数字,或者你可以使用本文讨论的内置方法和例子,以便你更好地理解。