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()的注意点的主要内容,如果未能解决你的问题,请参考以下文章

JS中parseint和number的区别

parseint和parsefloat总结number。隐形转换

JavaScript中的parseInt和Number函数

详解JS中Number()parseInt()和parseFloat()的区别

Number()parseInt()和parseFloat()的注意点

Number与parseInt的区别