在 JavaScript 中,parseFloat()
函数如果传入空值(如 null
、undefined
或空字符串 ""
)不会报错,但会返回 NaN
(Not a Number)。
空字符串 ""
parseFloat(""); // 返回 NaN
null
parseFloat(null); // 返回 NaN
undefined
parseFloat(undefined); // 返回 NaN
字符串开头非数字
parseFloat("abc123"); // 返回 NaN
有效数字字符串
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()
)或提供默认值。