突然发现,javascript中parseInt有…

来源:互联网 发布:吴佳俊 知乎 编辑:程序博客网 时间:2024/04/28 18:16
parseInt 在js中用于将字符串转为整型.
注意以下几点:
如果没有指定radix(基数),默认按10进制进行转换
但是:
1.如果string的值以"0x"开头,parseInt会按十六进制进行转换
2.如果string的值以"0"开头,parseInt会按八进制进行转换
因此使用parseInt的时候最好指定基数.
如: parseInt("10", "05");

可惜,遗憾的是:
parseInt("10", "0") 结果是10
parseInt("10", "00") 结果是10
parseInt("10", "60") 结果是NaN
parseInt("10", "40") 结果是NaN
没办法,只好自己做了一下封装

function myParseInt(param){
  if(param=="0" || param=="00" || param =="60"){
    returnparseInt(param);
  }else{
    returnparseInt("10", param);
  }
}

后来才发现,其实使用parseInt不是很适合将字符串转为整型。 可能原本就不应该这么做。建议使用Number()将字符串转为整型。使用parseInt将浮点数转为整型。
0 0