跳到主要内容

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);
}