parseInt
一直没明白“parseInt”是干什么用的?以前也没学到吧!
还有“sum+=parseInt(d[i].substr(3,2));”为什么是“sum+=…”代表什么呢?
一直没明白“parseInt”是干什么用的?以前也没学到吧!
还有“sum+=parseInt(d[i].substr(3,2));”为什么是“sum+=…”代表什么呢?
2014-11-13
sum+=x; 等价于sum=sum+x.
定义和用法
parseInt() 函数可解析一个字符串,并返回一个整数。
语法
parseInt(string, radix)
参数
描述
string 必需。要被解析的字符串。
radix
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
返回值
返回解析后的数字。
说明
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
提示和注释
注释:只有字符串中的第一个数字会被返回。
注释:开头和结尾的空格是允许的。
提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
实例
在本例中,我们将使用 parseInt() 来解析不同的字符串:
parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //未定:返回 10 或 8
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>阶段7任务练习</title>
</head>
<body>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var mydate=new Date();
//输出今天是星期几
var weekday=['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];//定义日期数组
var mynum=mydate.getDay();//返回0-6
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var score=scoreStr.split(";");
var sum=0;
var average=0;
for(var i=0;i<score.length;i++){
sum+=parseInt(score[i].substr(3,2));
}
average=Math.round(sum/score.length);
//从数组中将成绩撮出来,然后求和取整,并输出。
document.write(mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDay()+"日"+weekday[mynum]+"<br/>班级总分为:"+sum+"<br/>平均分为:"+average+"<br/>");
</script>
</body>
</html><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var mydate=new Date();
//设置星期数组
var da=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
//分别获取年份和日期,使用getFullYear getMonth getDate 方法分别获取当前的年份 月份 日期 然后输出在屏幕上
document.write(mydate.getFullYear()+"年"+(parseInt(mydate.getMonth())+1)+"月"+mydate.getDate()+"日"+" "+da[mydate.getDay()]);
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
//分割字符串,并将字符串存入数组中。这样用分割符得到的数据类型自动没数组型
var arr=scoreStr.split(";");
//打印测试
var sum=0;
//第一种方法
/*for(var i=0; i<arr.length;i++){
var index=arr[i].indexOf(":");
sum+=parseInt(arr[i].substr(index+1,2))
}*/
//第二种方法
for(var i=0;i<arr.length;i++){
//现在开始把数组中的分数提取出来
var sccore=parselnt(arr[i].substring(3,5));
//从数组中将成绩撮出来,然后求和
sum+=score;
}
document.write(sum);
</script>
</head>
<body>
</body>
</html>最后为什么输出不了值出来,但是我
var sccore=parselnt(arr[i].substring(3,5));
document.write(score);这样进行单个测试的时候是可以取出数值的。求大神解答
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
var mydate=new Date();
var week=new Array("天","一","二","三","四","五","六");
document.write(
mydate.getFullYear()+"年"+mydate.getMonth() +"月"+mydate.getDate()+"日"+" "+"星期"+week[mydate.getDay()]);
//通过javascript的日期对象来得到当前的日期,并输出。
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sum=0;
var av= 0;
var arr=scoreStr.split(";");
for(var i=0; i<arr.length ;i++){
var index=arr[i].indexOf(":");
sum= parseInt(arr[i].substr(index+1,2));
}
document.write(sum);
输出来sum为什么等于76啊?不该是成绩的总和吗?
举报