js中parseFloat(参数1,参数2)定义和用法及注意事项
定义和用法
parseFloat
是 JavaScript 的一个全局函数,用于将字符串解析为浮点数。它接收一个字符串类型的参数,将其解析并返回对应的浮点数。
在解析过程中,parseFloat
会忽略参数字符串中前导的空白符(空格、制表符、换行符),直到找到第一个非空白符。当遇到数字字符、小数点、正负号等特殊字符时,parseFloat
会尝试将其解析成浮点数,如果遇到非该区域字符,解析结束。
除第一个参数外,parseFloat
还接收一个可选的进制参数 radix
,默认值为 10。如果输入的字符串以 0x
或 0X
开头,则被解析的数将被视为十六进制数。否则,字符串将以 10 进制的方式解析。如果输入的参数字符串是一个不可表示的数字(如 Infinity
、-Infinity
、NaN
等),则 parseFloat
返回 NaN
。
const str1 = '3.14';
console.log(parseFloat(str1)); // 3.14
const str2 = 'Pi is approximately 3.14';
console.log(parseFloat(str2)); // 3.14
const str3 = '3.14 is a good approximation for Pi';
console.log(parseFloat(str3)); // 3.14
const str4 = '0xFF';
console.log(parseFloat(str4)); // 255
const str5 = 'Infinity';
console.log(parseFloat(str5)); // Infinity
const str6 = 'not a number';
console.log(parseFloat(str6)); // NaN
注意事项
parseFloat
只能解析有效的数值部分,如果输入参数字符串中同时包含有效数字和非数字字符,则仅解析数字部分。例如,对于字符串'99.9 percent'
,parseFloat
仅返回99.9
,不会解析' percent'
部分。parseFloat
会自动尽可能多地解析数字部分,但如果遇到不合法的字符,则解析停止。例如,对于字符串'3.14.15'
,parseFloat
仅返回3.14
,由于.15
不是合法数字字符。parseFloat
在解析十六进制数时,会将字符串以十进制方式解析,而不是以十六进制方式解析。如果需要解析十六进制数,请使用parseInt
函数,并指定进制为 16。- 在一些浏览器中,
parseFloat
不会自动将科学记数法表示的字符串解析为浮点数,而是返回NaN
。例如,parseFloat('1.23e3')
在某些浏览器中返回NaN
。 - 对于某些输入参数,
parseFloat
的解析结果可能与预期不符合。例如对于输入字符串'010'
,由于其以0开头,JavaScript 会将其解释为八进制数,即数值8
。因此,使用parseFloat
可能无法得到预期的结果。在这种情况下,建议使用parseInt
函数并指定进制为 10。
const str7 = '99.9 percent';
console.log(parseFloat(str7)); // 99.9
const str8 = '3.14.15';
console.log(parseFloat(str8)); // 3.14
const str9 = '0xA';
console.log(parseFloat(str9)); // 0
const str10 = '1.23e3';
console.log(parseFloat(str10)); // 1230
const str11 = '010';
console.log(parseFloat(str11)); // 10
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中parseFloat(参数1,参数2)定义和用法及注意事项 - Python技术站