js面试题系列_请问parseInt(),parseFloat(),Number()的区别?

问题:请问parseInt(),parseFloat(),Number()的区别?

答:

  1、parseInt()字符串转换成整型,parseFloat()字符串转换成浮点型,Number()字符串转换成数字型;
  2、
  Number():看的是整体,只要字符串内的内容不是合法的数字,则结果为NaN;否则,就会正常转换为数字类型。
  parseInt()和parseFloat()的转换规则比较接近(类似);
  从前朝后,如果第一个字符是非数字,那么,结果为NaN;如果第一个字符是数字:
   1)、parseInt():如果遇到小数点或者其它非数字字符或结尾,那么就把前面的内容正常转换为数字

   2)、parseFloat():如果遇到第二个小数点或者其它非数字字符或结尾,那么就把前面的内容正常转换为数字


示例:

//parseInt():
//转换规则:从字符串的第一个字符开始,
//如果第一个字符就是非数字,那么结果就是NaN;
// 如果第一个字符就是数字,那就继续朝后找,直到碰到第一个非数字或者结尾为止。把前面的所有的内容转成数字。
/*
//var str="250";//250
//var str="250.61.8";//250
//var str="250.612a.8";//250
//var str="a250.612a.8";//NaN


var num = parseInt(str);//把str转成整型;
alert(typeof num);
alert(num);
*/


//parseFloat():
//转换规则:跟parseInt比较接近;
//从字符串的第一个字符开始,
//如果第一个字符就是非数字,那么结果就是NaN;
// 如果第一个字符就是数字,那就继续朝后找,
// 碰到第一个小数点,那就正常转换,
// 碰到第二个小数点或者其它非数字或者结尾为止。把前面的所有的内容转成数字。


//var str="250.6";//250.6
//var str="250.61.8";//250.61
//var str="250.612a.8";//250.612


//var str="a250.612a.8";//NaN
/*
var num = parseFloat(str);
alert(typeof num);
alert(num);
*/


//Number():
//Number()的转换规则:
//Number()看的是整体,只要字符串里的内容不是合法的数字,那就NaN;


//var str="250.6";
//var str="250";   
//var str="250.61.8";//NaN
//var str="250.612a.8";//NaN
//var str="a250.612a.8";//NaN

猜你喜欢

转载自blog.csdn.net/jiang7701037/article/details/80739820