问题:请问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