JS中字符串与数字类型数据是两种不同的类型,在特定场景下需要将字符串类型数据转换为数字类型数据。本文将从以下几个方面详细介绍如何将JS字符串类型数据转换为浮点数类型数据。
一、使用parseFloat()方法
JS中有一个parseFloat()方法可以将一个字符串类型的数值转换成一个浮点型数值。该方法将处理参数直到字符结尾或第一个非法字符出现,返回浮点数值,或 NaN(如果开始就是非法字符),例如"12.3.4"返回12.3。示例如下:
let str = "3.14"; let num = parseFloat(str); console.log(num); //3.14
需要注意的是,如果字符串本身不是数字类型而是其他类型,则无法使用该方法进行转换。例如:
let str = "Hello World"; let num = parseFloat(str); console.log(num); //NaN
二、使用Number()方法
除了parseFloat()方法外,JS中还提供了Number()方法用于将字符串类型数据转换为数字类型数据。该方法执行更严格的转换,如果字符串包含的不是数字,将返回NaN。例如:
let str = "3.14"; let num = Number(str); console.log(num); //3.14
需要注意的是,Number()方法的转换规则比较严格,例如空字符串(“")和纯空格字符串(“ ”)都被转换为数字0,但纯字符串类型的值为NaN,示例如下:
let num1 = Number(""); //0 let num2 = Number(" "); //0 let num3 = Number("Hello World"); //NaN
三、使用parseInt()方法
如果需要将字符串转换为整数,则应使用parseInt()方法,该方法将会解析字符串,并返回整数值。例如:
let str = "3.14"; let num = parseInt(str); console.log(num); //3
需要注意的是,该方法不会将数字字符串类型转换为浮点型,如果需要将小数点后面的内容也转换为浮点型,则需要在方法中传入第二个参数,指定转换进制。例如:
let str = "3.14"; let num = parseInt(str, 10); console.log(num); //3 let fnum = parseInt(str, 2); console.log(fnum); //NaN
第二个参数接受一个整数值,表示要解析的数字是几进制的值。如果第一个字符是数字,则该值将被忽略。如果不是0-9中的数字字符,则返回NaN。
总结
以上是JS中将字符串类型数据转换为浮点型数据的三种方法,分别使用parseFloat()方法、Number()方法、parseInt()方法。需要根据具体的场景选择合适的方法。