做人机大作业学到的JS parseInt方法
var str =“4500元”;
var num = parseInt(str);
alert(num);
输出:4500
如果字符串前面有非数字字符,上面这种方法就不行了:
var str =“价格:4500元”;
var num = parseInt(str);
alert(num);
输出:NaN
这个例子中会弹出NaN,解决这个问题,最简单的方法是:如果知道字符串格式后,去掉前面的非字符。上面这个例子中,去掉子串"价格:"
var str ="价格:4500元";
var num = parseInt(str.substring(1).substring(1).substring(1)); //暂时还不知道什么意思
alert(num);
输出:4500
Js中的parseInt()方法传的可以有非数字字符串,只要字符串前面就照样运行,知道遇到非数字字符停下来。比如,以下这个例子。
var str =“4500元,等级:2”;
var num = parseInt(str);
alert(num);
输出:4500
不会报错,结果还是一样,因为系统查找到"元"时就停止了,不管后面有没有数字都不会再提取了。所以不会出现45002的结果。Js中有很多这样的例子,比如正则不写/g,默认查找符合的第一个子字符串就跳出,并不会往下面进行。本文第二个例子出现NaN,也是这个原因
来源:CSDN
作者:qq_38388139
链接:https://blog.csdn.net/qq_38388139/article/details/103602321