Number(),parseInt(),parseFloat()的区别?
-
三个都是把字符串转成数字型的
- parseInt()字符串转换成整型
- parseFloat()字符串转换成浮点型
- Number()字符串转换成数字型
-
-
Number():看的是整体,只要字符串内的内容不是合法的数字,则结果为NaN;否则,就会正常转换为数字类型
-
parseInt()和parseFloat()的转换规则比较接近(类似);
从前朝后,如果第一个字符是非数字,那么,结果为NaN;如果第一个字符是数字:
- parseInt():如果遇到小数点或者其它非数字字符或结尾,那么就把前面的内容正常转换为数字
- parseFloat():如果遇到第二个小数点或者其它非数字字符或结尾,那么就把前面的内容正常转换为数字
-
1)把字符串类型转成Number型,用Number()
var num1 = "20";
var num2 = 5;
document.write(Number(num1)+num2); //25
document.write("<br/>");
var n = Number("250");
document.write(n); //250
document.write("<br/>");
var n = Number("250abc");
document.write(n); //NaN
document.write("<br/>");
var n = Number("abc250abc");
document.write(n); //NaN
document.write("<br/>");
var n = Number("250.34");
document.write(n); //250.34
document.write("<br/>");
2)、把字符串类型转成整型, parseInt();
var n = parseInt("250.12");
document.write(n); //250
document.write("<br/>");
var n = parseInt("250abc");
document.write(n); //250
document.write("<br/>");
var n = parseInt("250abc12");
document.write(n); //250
document.write("<br/>");
var n = parseInt("abc250abc12");
document.write(n); //NaN
document.write("<br/>");
3)、把字符串类型转成浮点型(小数), parseFloat();
var n = parseFloat("250.12");
document.write(n); //250.12
document.write("<br/>");
var n = parseFloat("250.12abc");
document.write(n); //250.12
document.write("<br/>");
var n = parseFloat("250.12.34abc");
document.write(n); //250.12
document.write("<br/>");
var n = parseFloat("250.12abc34");
document.write(n); //250.12
document.write("<br/>");
var n = parseFloat("abc250.12abc12");
document.write(n); //NaN
document.write("<br/>");