iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS如何获取指定范围内的随机数含小数
  • 646
分享到

JS如何获取指定范围内的随机数含小数

JS获取随机数JS随机数含小数JS指定范围随机数 2022-12-03 22:12:16 646人浏览 安东尼
摘要

目录获取指定范围内的随机数含小数js小技巧之随机数的生成应用场景问题描述解决方法猜数小案例获取指定范围内的随机数含小数 randomNum(maxNum, minNum, deci

获取指定范围内的随机数含小数

 randomNum(maxNum, minNum, decimalNum) {
            // 获取指定范围内的随机数, decimalNum指小数保留多少位
            var max = 0,
                min = 0;
            minNum <= maxNum ? (min = minNum, max = maxNum) : (min = maxNum, max = minNum);
            switch (arguments.length) {
                case 1:
                    return Math.floor(Math.random() * (max + 1));
                    break;
                case 2:
                    return Math.floor(Math.random() * (max - min + 1) + min);
                    break;
                case 3:
                    return (Math.random() * (max - min) + min).toFixed(decimalNum);
                    break;
                default:
                    return Math.random();
                    break;
            }
        },

JS小技巧之随机数的生成

应用场景

日常生活中,抽奖环节或者选人环节对于一个范围内随机数选择的频率是很高的。

例如1~100之间的某个整数。

问题描述

JS中 Math 对象的 random() 方法是结果在 [0,1) 之间的且精确到小数点后很多位的小数。显然不太符合实际应用的需求。

<script>
    console.log(Math.random());
</script>

解决方法

其实只需要记住一个简单的公式并将其封装成函数,就能实现在任意数字范围内生成随机整数的需求。

不包含最大值 ,输入范围 [1.5,5.5),实际随机数范围 [2,5)

function getRandom(min,max) {
    min = Math.ceil(min);        // 确保当输入为小数时,仍能取范围内的整数
    max = Math.floor(max); 
    return Math.floor(Math.random() * (max - min)) + min;
 }
 console.log(getRandom(1.5,5.5));

包含最大值 ,输入范围 [10.5,20.5] ,实际随机数范围 [10,20]

function getRandom(min,max) {
    min = Math.ceil(min);        // 确保当输入为小数时,仍能取范围内的整数
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandom(10.5,20.5));

猜数小案例

  • 系统随机生成1-10之间的任意整数,用户在输入框中输入自己所猜测的数值。
  • 若数值大于选定的随机数,则提示 "猜大了,请重新输入"
  • 若小于所选定的随机数,则提示 "猜小了,请重新输入"
  • 若相等则提示 "猜对了,并退出程序"
<script>
   function getRandom(min,max) {
        min = Math.ceil(min);        
        max = Math.floor(max); 
        return Math.floor(Math.random() * (max - min)) + min;
   }
 
   var flag = getRandom(1,10);
   console.log(flag);
 
   while(1){
       var number = prompt("请输入您所猜的数值范围(1-10)");
       if(number < flag) {
           alert("猜小了,请重新输入!");
       } else if(number > flag) {
           alert("猜大了,请重新输入!");
       }else {
           alert("猜对了,该随机数为:" + flag); 
           break;
       }
   }
</script>

 

 

 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: JS如何获取指定范围内的随机数含小数

本文链接: https://www.lsjlt.com/news/174021.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作