2016.06.01【H5移动开发】VIP学员作业

发布于:2016-06-02 19:43

作业一:

随机输[20,80]出区间内数。

作业二:

拓展:四舍五入计算之后,保留小数点之后的两位数

共有4条评论
正序查看
倒序查看
大坏蛋 2016-06-02 23:17
回复

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>作业</title>

<script type="text/javascript">

// 作业一:取[20,80]之间的随机数

document.write("<h4 style='text-align: center;'>作业一</h4>");


var random = Math.random() * 61 + 20;

if (random >= 80) {

document.write(Math.floor(random) + "<br />");

} else{

document.write(random + "<br /><br />");

}

// 作业二:保留两位小数

document.write("<h4 style='text-align: center;'>作业二</h4>");

// 1.定义四舍五入函数

// PS:num为要进行保留的数;roundNum为要保留的位数

function roundFun(num, roundNum) {

var round  = num.toFixed(roundNum);

document.write(round + "<br />");

}

// 2.基本要求:保留两位

roundFun(7.934, 2);

roundFun(7.9344, 2);

roundFun(7.9346, 2);

roundFun(2.785, 2);

roundFun(2.7854, 2);

roundFun(2.7856, 2);

// 3.更高拓展:保留多位,但最多只可以保留20位

roundFun(33.3333, 3);

roundFun(88.8888, 3);

</script>

</head>

<body>

</body>

</html>07c25d72227ec28244ba9ffceb814284002.png

大坏蛋 回复 大坏蛋 2016-06-02 23:23
回复
其实我用Math.round也可以做貌似不限制位数的,要不要提交呢?
大坏蛋 回复 大坏蛋 2016-06-02 23:38
回复
好吧,经测试只是理论无限,实际上输出来没有那么多
大坏蛋 回复 大坏蛋 2016-06-02 23:39
回复
但起码用到了Math.round,上边那个感觉有点像其他方法了
大坏蛋 2016-06-02 23:42
回复

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>作业</title>

<script type="text/javascript">

function roundBy(num, roundNum) {

var round = Math.round(num * Math.pow(10, roundNum)) / Math.pow(10, roundNum);

document.write(round + "<br />");

}

roundBy(7.934, 2);

roundBy(7.9344, 2);

roundBy(7.9346, 2);

roundBy(2.785, 2);

roundBy(2.7854, 2);

roundBy(2.7856, 2);

roundBy(33.3333, 3);

roundBy(88.8888, 3);

roundBy(3.141592653589793238462643383279502884197169399375105820974944, 30);

</script>

</head>

<body>

</body>

</html>

效果是一样的,上面提到,最后一个实际输出3.141592653589793

h6896 2016-06-04 10:25
回复

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

    <title></title>

    <script type="text/javascript">

    document.write("作业一:[20 80]的随机数"+"<br/><br/>");

    var ra=Math.random()*61+20;

    if(ra>80){

    var random;

    random=Math.floor(ra);

    }else{

    random=ra;

    }

    document.write(random+"<br/><br/>");

    

   document.write("作业二:四舍五入保留小数位"+"<br/><br/>");

    function myMath(num,digit){

    var round=Math.round(num*Math.pow(10,digit))/Math.pow(10,digit);

    document.write("保留"+digit+"位小数:"+round+"<br/>");

    }

   

      myMath(ra,2);

      myMath(ra,3);

      myMath(ra,4);

      myMath(ra,5);

    

    </script>

</head>

<body>

</body>

</html>

022854c82ec4b5077e26f9ef683411e6002.png


刘祎飞 2016-06-05 19:00
回复

<script type="text/javascript">


var random = (Math.random()*60+19)+1 ;

if (random >=20) {

document.write("yes,大于等于20"+"<br />");

} else{

document.write("no,答案错误"+"<br />");

}

if (random <=80) {

document.write("yes,小于等于80"+"<br />")

} else{

document.write("no,答案错误")

}

</script>

刘祎飞 回复 刘祎飞 2016-06-05 19:03
回复
var random = (Math.random()*60+19)+1 ; if (random>=20<=80) { document.write(random+"
"+"yes,大于等于20,小于等于80"+"
"); } else{ document.write("no,答案错误"+"
"); }
刘祎飞 回复 刘祎飞 2016-06-05 19:03
回复
这么写更简单一点。。。
CrazyPotato 回复 刘祎飞 2016-06-19 14:27
回复
可以看看族族或者大笨蛋他们的,你这里使用(Math.random()*60+19)+1 直接就是(Math.random()*60+20 这里肯定最小能取到20,所以20这个节点是不需要做判断的,最主要的是80的判断。但是按照你的数据 Math.random()*60 这里最大值不会取到60 而你后面只加了20 那么整个算下来,你如果没有进行数据的另外处理,是取不到80的。

回复:2016.06.01【H5移动开发】VIP学员作业

图片
视频

0

今日新帖

0

昨日新帖

42

帖子总数

推荐
换一组