Number()、parseInt()和parseFloat()的转换规则
红宝石书学习笔记
以下每条后面都标注了输出结果并有相应的规则写出
//Number 的转换规则
//相对复杂、不够合理
console.log(Number(" ")); //0
console.log(Number("")); //0
console.log(Number(true)); //1
console.log(Number(000011)); //11 忽略前导0
console.log(Number("hello world")); //NaN
console.log("____________________________");
//parseInt 的转换规则
console.log(parseInt("")); //NaN
console.log(parseInt(" ")); //NaN
console.log(parseInt("00123")); //123 数字字符串中自动忽略前导0
console.log(parseInt("123picaqiuqiu")); //123 自动忽略后面的非数字字符
console.log(parseInt("22.5")); //22 转换为整数
console.log(parseInt(22.5)); //22
console.log(parseInt("$123")); //NaN
console.log(parseInt("070",8)); //56 指定按照8进制进行转换
console.log(parseInt("0xA")); //10
console.log("____________________________");
//parseFloat 的转换规则
console.log(parseFloat("2.00000")); //2 数字字符串中无论小数点后面有几个0,都自动转为整数
console.log(parseFloat("080")); //80 数字字符串中,忽略前导0
console.log(parseFloat(070)); //56 识别为8进制(注意这里不是数字字符串,而是单纯的数字)
console.log(parseFloat(0xA)); //10
console.log(parseFloat("0xA")); //0 数字字符串中,所有的六进制字符串都会返回0
console.log(parseFloat("11.3.4")); //11.3 只识别第一个小数点
console.log(parseFloat(11.3)); //11.3
console.log(parseFloat("11.4picaqiuqiu")); //11.4 数字字符串中自动忽略后面的非数字字符
本文详细介绍了JavaScript中的Number、parseInt和parseFloat转换规则。Number()函数在处理空字符串、布尔值和数字字符串时有特定行为,对于非数字输入会返回NaN。parseInt()会忽略数字字符串前导0及后续非数字字符,并可指定进制转换。parseFloat()则会解析浮点数,遇到非数字字符即停止解析。理解这些转换规则对于JavaScript编程至关重要。
876

被折叠的 条评论
为什么被折叠?



