【问题标题】:Random number maker随机数生成器
【发布时间】:2015-02-04 12:47:43
【问题描述】:

我的代码有问题。我想制作一个程序来生成随机数并将它们乘以 50,然后向它们添加 30,然后删除剩余的小数。 我还想展示如何使用<h1> 标签计算这些数字。 在等号之后,我想显示乘以 50 并加上 30 并删除小数的最终数字。

<html>
<head>
    <meta charset="UTF-8"/>
    <title>Random Numbers</title>
    <script>
        function start(){
            var num1 = Math.random();
            var num2 = Math.random();
            var num3 = Math.random();
            var num4 = Math.random();
            var num5 = Math.random();
            var num11 = num1.toFixed(3);
            var num22 = num2.toFixed(3);
            var num33 = num3.toFixed(3);
            var num44 = num4.toFixed(3);
            var num55 = num5.toFixed(3);
            /*var num111 = (num11 * 50);
            var num222 = (num22 * 50);
            var num333 = (num33 * 50);
            var num444 = (num44 * 50);
            var num555 = (num55 * 50);
            /* ---------------------------------------------- 
            var num111 = (num11) += 30;
            var num222 = (num22) += 30;
            var num333 = (num33) += 30;
            var num444 = (num44) += 30;
            var num555 = (num55) += 30;*/
            document.getElementById("show1").innerHTML=num11 + '×' + '50' + '+' + '30' + '=' + num11;
            document.getElementById("show2").innerHTML=num22 + '×' + '50' + '+' + '30' + '=' + num22;
            document.getElementById("show3").innerHTML=num33 + '×' + '50' + '+' + '30' + '=' + num33;
            document.getElementById("show4").innerHTML=num44 + '×' + '50' + '+' + '30' + '=' + num44;
            document.getElementById("show5").innerHTML=num55 + '×' + '50' + '+' + '30' + '=' + num55;
        }
    </script>
</head>
<body>
    <button id="btn" onclick="start()">Press the button</button><br/>
    <h1 id="show1"></h1>
    <h1 id="show2"></h1>
    <h1 id="show3"></h1>
    <h1 id="show4"></h1>
    <h1 id="show5"></h1>
</body>

【问题讨论】:

  • 有什么问题...?
  • 你有随机数范围吗??
  • 将代码复制到 .html 文件并运行。在 = 符号之后我想计算数字,然后你就会看到问题所在。

标签: javascript random numbers


【解决方案1】:

检查这个:http://jsfiddle.net/wc5wnby5/2/

可能你需要像下面这样:

            document.getElementById("show1").innerHTML=num11 + '×' + '50' +    '+' + '30' + '=' + Math.round(num11*50+30);
            document.getElementById("show2").innerHTML=num22 + '×' + '50' + '+' + '30' + '=' + Math.round(num22*50+30);
            document.getElementById("show3").innerHTML=num33 + '×' + '50' + '+' + '30' + '=' + Math.round(num33*50+30);
            document.getElementById("show4").innerHTML=num44 + '×' + '50' + '+' + '30' + '=' + (num44*50+30);
            document.getElementById("show5").innerHTML=num55 + '×' + '50' + '+' + '30' + '=' + Math.round(num55*50+30);

【讨论】:

    【解决方案2】:

    使用Math.round() 删除小数部分。考虑以下代码:

    document.getElementById("show1").innerHTML=num11 + '×' + '50' +    '+' + '30' + '=' + Math.round(num11*50+30);
    document.getElementById("show2").innerHTML=num22 + '×' + '50' + '+' + '30' + '=' + Math.round(num22*50+30);
    document.getElementById("show3").innerHTML=num33 + '×' + '50' + '+' + '30' + '=' + Math.round(num33*50+30);
    document.getElementById("show4").innerHTML=num44 + '×' + '50' + '+' + '30' + '=' + Math.round(num44*50+30);
    document.getElementById("show5").innerHTML=num55 + '×' + '50' + '+' + '30' + '=' + Math.round(num55*50+30);
    

    DEMO

    Reference了解更多详情。

    【讨论】:

      【解决方案3】:

      如果我正确理解您的问题:

      function print(elemID, text){
        document.getElementById(elemID).appendChild(document.createTextNode(text));
      }
      
      var res;
      print('show1', (res = Math.random()));
      print('show2', (res = res * 50));
      print('show3', (res += 30));
      print('show4', (res = res.toFixed(0)));
      

      fiddle

      【讨论】:

        猜你喜欢
        • 2023-01-03
        • 2015-03-14
        • 1970-01-01
        • 1970-01-01
        • 2017-04-05
        • 2011-01-24
        • 2011-01-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多