Number()parseInt()和parseFloat()的注意点
Posted yuruyuri
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Number()parseInt()和parseFloat()的注意点相关的知识,希望对你有一定的参考价值。
1.Number()转化较严格
var a="1.23b";
console.log(Number(a)); //NaN
console.log(parseInt(a)); //1
console.log(parseFloat(a)); //1.23
2.boolean值转化结果不同
var a=true; console.log(number(a)); //1 console.log(parseInt(a)); //NaN console.log(parseFloat(a)); //NaN
3.空字符串转化结果不同
var a=""; console.log(number(a)); //0 console.log(parseInt(a)); //NaN console.log(parseFloat(a)); //NaN
4.只要字符以0x开头,parseInt就会以十六进制转化
console.log(parseInt("0x")); //NaN,0x后没有数字 console.log(parseInt("0xg")); //NaN,0x后不是数字 console.log(parseInt("0f")); //0
5.parseFloat()只解析十进制值,因此会忽略八进制前导的0,十六进制则会被转换成0
var a="074",b="0x5D" console.log(parseInt(a,8)); //60,ECMAScript 5 javascript中前导的0被认为无效,需指定基数(即多少进制) console.log(parseFloat(a)); //74 console.log(parseInt(b)); //93 console.log(parseFloat(b)); //0
以上是关于Number()parseInt()和parseFloat()的注意点的主要内容,如果未能解决你的问题,请参考以下文章
parseint和parsefloat总结number。隐形转换
详解JS中Number()parseInt()和parseFloat()的区别