JavaScript 中的数字解析主要涉及到两种方式:parseInt()
和 parseFloat()
函数。这两个函数用于将字符串转换为数字。
NaN
。parseInt()
,但它会解析一个字符串并返回一个浮点数。parseInt()
)parseFloat()
)// 使用 parseInt()
let intResult = parseInt("10"); // 10
let intResultWithRadix = parseInt("10", 2); // 2 (二进制)
let intResultNaN = parseInt("abc"); // NaN
// 使用 parseFloat()
let floatResult = parseFloat("10.5"); // 10.5
let floatResultMixed = parseFloat("10.5abc"); // 10.5 (只解析到第一个非数字字符)
NaN
原因:字符串中包含了无法转换为数字的字符。
解决方法:
function isNumeric(str) {
return !isNaN(str) && !isNaN(parseFloat(str));
}
let str = "123abc";
if (isNumeric(str)) {
let num = parseFloat(str);
console.log(num); // 输出: 123
} else {
console.log("输入包含非数字字符");
}
原因:字符串开头可能有空格或其他非数字字符。
解决方法:
trim()
方法去除字符串两端的空白符。let strWithSpaces = " 123.45 ";
let cleanedStr = strWithSpaces.trim();
let num = parseFloat(cleanedStr);
console.log(num); // 输出: 123.45
通过以上方法,可以有效地处理 JavaScript 中的数字解析问题。
领取专属 10元无门槛券
手把手带您无忧上云