在 JavaScript 中,parseFloat() 函数如果传入空值(如 nullundefined 或空字符串 ""不会报错,但会返回 NaN(Not a Number)。

具体行为:

  1. 空字符串 ""

    parseFloat(""); // 返回 NaN
  2. null

    parseFloat(null); // 返回 NaN
  3. undefined

    parseFloat(undefined); // 返回 NaN
  4. 字符串开头非数字

    parseFloat("abc123"); // 返回 NaN
  5. 有效数字字符串

    parseFloat("123.45"); // 返回 123.45
    parseFloat("123abc"); // 返回 123(解析到非数字字符停止)

如何避免 NaN

如果希望空值返回默认值(如 0),可以使用逻辑或(||)或空值合并运算符(??):

const num = parseFloat(input) || 0; // 如果 NaN、null、undefined、"",则返回 0
// 或
const num = parseFloat(input) ?? 0; // 仅当 null/undefined 时返回 0

总结:

  • parseFloat() 不会报错,但无效输入会返回 NaN

  • 建议检查返回值是否为 NaN(用 isNaN() 或 Number.isNaN())或提供默认值。