parseFloat
2023年10月07日
一、认识
parseFloat()
函数解析一个参数(必要时先转换为字符串)并返回一个浮点数
二、语法
const result = parseFloat(string)
-
string
: 需要被解析成为浮点数的值。注意string
参数有以下特点:-
string
允许前导和尾随空格console.log(parseFloat(" 345.34 ")); // 345.34
-
string
中第一个字符如果不能转换为数字或者该字符不是+
、-
、. (第二个小数点的出现也会使解析停止)
、e/E
中的一个,那么parseFloat
会返回NaN
console.log(parseFloat("a345a456")); // NaN
-
string
中的除了第一个字符外的某个字符如果不能转换为数字或者该字符不是+
、-
、. (第二个小数点的出现也会使解析停止)
、e/E
中的一个,那么string
将会忽略该字符以及后续所有字符,并返回到该点为止已解析的整数值,parseFloat
将数字截断为整数值console.log(parseFloat("345.34a456")); // 345.34
-
四、返回值
返回值
给定值被解析成浮点数。如果给定值不能被转换成数值,则会返回 NaN
。以下是返回NaN
的情况:
- 情况一、如果参数字符串的第一个字符不能被解析成为数字,则
parseFloat
返回NaN
对比
-
Number(value)
- 特点一、只要参数带有无效字符就会被转换为
NaN
- 特点一、只要参数带有无效字符就会被转换为
-
parseInt(value)
- 特点一、
parseInt()
无法识别小数点
- 特点一、
-
parseFloat(value)
- 特点一、
parseFloat() 无法识别
0x前缀
- 特点一、
五、应用场景
5.1 获取 Css 属性值
function getCssValue(value) {
value = String(value);
if (value.endsWith('%')) {
return parseFloat(value) / 100.0;
}
return parseFloat(value);
}