javascript - 使用 html 和 javascript 的随机数生成器没有给出正确的随机数作为答案

标签 javascript html

我大约一周前开始学习 JavaScript,现在我遇到了一个问题。我的代码没有返回正确的随机数作为答案。请查看我的代码并帮助我。谢谢。

    function calc() {
      var min = document.getElementById('min').value;
      var max = document.getElementById('max').value;
      var x = Math.floor(Math.random() * (max - min) + max);
      document.getElementById('random').innerHTML = x;
    }
<table border='1px' color='black'>
  <tr>
    <td>min</td>
    <td>
      <input type='text' id='min' />
    </td>
  </tr>
  <tr>
    <td>max</td>
    <td>
      <input type='text' id='max' />
    </td>
  </tr>
  <tr>
    <td>
      <input type='button' onClick='calc()' value='generate' />
    </td>
    <td>
      <p id='random'>0</p>
    </td>
  </tr>
</table>

最佳答案

您必须使用 parseInt(string,10)在开始计算之前对 minmax 值进行设置,否则 ... + max 将连接字符串而不是添加数字。

至于算术,try var x = Math.floor(Math.random() * (max - min + 1) + min) instead.

    function calc() {
      var min = parseInt(document.getElementById('min').value,10);
      var max = parseInt(document.getElementById('max').value,10);
      var x = Math.floor(Math.random() * (max - min + 1) + min);
      document.getElementById('random').innerHTML = x;
    }
<table border='1px' color='black'>
  <tr>
    <td>min</td>
    <td>
      <input type='text' id='min' />
    </td>
  </tr>
  <tr>
    <td>max</td>
    <td>
      <input type='text' id='max' />
    </td>
  </tr>
  <tr>
    <td>
      <input type='button' onClick='calc()' value='generate' />
    </td>
    <td>
      <p id='random'>0</p>
    </td>
  </tr>
</table>

关于javascript - 使用 html 和 javascript 的随机数生成器没有给出正确的随机数作为答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717140/

相关文章:

javascript - 我应该在 Java 项目中的哪里设置前端文件?

javascript - if Protractor 中的条件无法正常工作(AngularJS)

javascript - 根据浏览器显示DIV并根据浏览器版本添加类

javascript - jQuery同时发布多个帖子

Javascript - 将 HTML 输入字符串转换为数学计算

html - 图像居中有问题?

html - 如何使边框半径框中的文本居中

javascript - 如何从 URL 正文获取内部文本

javascript - 如何创建接受来自选择选项的值的输入(类型=文本)?

javascript - 3D div 转换重置