JS进位取舍和产生随机数结合

一、进位取整

最开始,先来看一下JS中进位取舍的几个小示例:

//JS进位取舍
	//向上取整
		alert(Math.ceil(25.9));				//打印:26
		alert(Math.ceil(25.5));				//打印:26
		alert(Math.ceil(25.1));				//打印:26
	//向下取整
		alert(Math.floor(25.9));			//打印:25
		alert(Math.floor(25.5));			//打印:25
		alert(Math.floor(25.1));			//打印:25
	//标准取整(四舍五入)
		alert(Math.round(25.9));			//打印:26
		alert(Math.round(25.5));			//打印:26
		alert(Math.round(25.1));			//打印:25
//-----------------------------------------------------------------------------------

从上面的示例很容易看出不同取舍函数的效果:

向上取整,如果小数部分大于0,则经过“向上取整”后,将在取得除去小数的整数部分+1的数(如(25.1,取26)。

向下取整,无论小数部分为多少,都直接舍去,只取除去小数剩余的整数部分(如25.9,取25)。

标准取整,四舍五入,小数部分小于0.5的舍去小数,只取整数(如25.2,则取25);小数部分大于等于0.5的,取截去小数后的整数部分+1的整数(如25.7,则取26)。

二、产生随机数

<pre name="code" class="html">//产生随机数
	//(0,1):产生0到1之间,不包括0和1的随机数1个。		(显示方式:alert()为弹窗显示)
		alert(Math.random());
	//-----------------------------------------------------------------------
	//10个随机数:0到1之间,不包括0和1。			(显示方式:document.write()为页面显示)
		for(var i=0;i<=10;i++){
			document.write(Math.random());
			document.write('<br/>');
		}
	//-----------------------------------------------------------------------

三、进位取整与产生随机数结合及运用

	//[1,10]的随机数10个
		for(var i=0;i<=10;i++){
			document.write(Math.floor(Math.random()*10 + 1));
			document.write('<br/>');
		}
	//-----------------------------------------------------------------------
		//[0,10]的随机数10个
		for(var i=0;i<=10;i++){
			document.write(Math.round(Math.random()*10));
			document.write('<br/>');
		}
		//其中一个示例“10,6,9,10,3,0,3,2,5,4,2”
	-----------------------------------------------------------------------
	//[5,14]的随机数10个
		for(var i=0;i<=10;i++){
			document.write(Math.floor(Math.random()*10+ 5));
			document.write('<br/>');
		}
	//-----------------------------------------------------------------------
		//[5,10]的随机数10个
		for(var i=0;i<=10;i++){
			document.write(Math.floor(Math.random()*(10-5+1)+ 5));
			document.write('<br/>');
		}
	//-----------------------------------------------------------------------

	//打印[10~100]的随机数10个
		documentDataArray(10,100,10);      打印:其中一个示例“95,38,44,75,69,82,24,22,37,75”
		// ///sum
		// ///产生随机数组,产生[start,end]之间的num个随机数(包括数start和end)
		// ///sum
		function select(start,end,num) {
			//定义一个数组
			var item = new Array();
			//循环产生随机数
			for (var i=0;i<num;i++) {
				var total = end - start +1;
				var result = Math.floor(Math.random() * total + start);
				//将产生的随机数 放入数组中
					item.push(result);
			}
			return item
		}

		function documentDataArray(start,end,num){
			var item = new Array();
			item = select(start,end,num);
			for (var j = 0;j<num;j++) {
				document.write(item[ j ]);
				document.write('<br/>');
			}
		}
	//-----------------------------------------------------------------------	

	//打印(10~100)的随机数10个
		documentDataArray(10,100,10);

		function documentDataArray(start,end,num){	//其中一个示例为“12,15,38,74,53,25,64,73,89,88”共10个
			var item = new Array();
			item = select(start,end,num);
			for (var j = 0;j<num;j++) {
				document.write(item[ j ]);
				document.write('<br/>');
			}
		} 

		// ///sum
		// ///产生随机数组,产生(start,end)之间的num个随机数(不包括数start和end。)
		// ///sum
		function select(start,end,num){
			//定义一个数组
			var item = new Array();
			//循环产生随机数
			for (var i=0;i<num;i++) {
				var total = end - start +1;
				var result = Math.floor(Math.random() * total + start);
				//将产生为start和end的随机数移除【是否包括start或end,只需在此简单更改即可】
				if (result==start || result==end) {
					//重新产生一个随机数
					--i;
				} else {
					//将产生的随机数 放入数组中
					item.push(result);
				}
			}
			return item
		}
//-----------------------------------------------------------------------------------

上面的的随机数可以用于简单的验证码;当然,有更加简便且丰富的验证码产生方式,用正则表达式产生0~9,、a~z、A~Z的随机字符。

时间: 2024-11-03 05:44:28

JS进位取舍和产生随机数结合的相关文章

求js和php怎样生成随机数,0到1之间的,保留两位小数点。

js 随机数 <script language="javascript">var num=Math.random();var newNum =num.toFixed(2);alert(newNum); </script> php随机数<?php$num= rand(0,100)/100;$newNum = sprintf("%.2f",$num);echo $newNum;?>

js生成[n,m]的随机数

一.预备知识 Math.ceil();  //向上取整. Math.floor();  //向下取整. Math.round();  //四舍五入. Math.random();  //0.0 ~ 1.0 之间的一个伪随机数.[包含0不包含1] //比如0.8647578968666494 Math.ceil(Math.random()*10);      // 获取从1到10的随机整数 ,取0的概率极小. Math.round(Math.random());   //可均衡获取0到1的随机整数

js生成各种范围的随机数

摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备. Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w+n, 10) 生成n-m,不包含n但包含m的整数:? 第一步算出 m-n的值,假设等于w 第二步Math

JS生成某个范围的随机数(四种情况)

前言: JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数. 利用它,我们就可以生成指定范围内的随机数. 而涉及范围的话,就有个边界值的问题.这样就包含四种情况: 1)min ≤ r ≤ max  (一般这种比较常见) 2)min ≤ r < max 3) min < r ≤ max 4)min < r < max 一.min ≤ r ≤ max function RandomNumBoth(

js中windows的函数(随机数,计时器的实现)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

JS生成不重复的随机数

// 定义存放生成随机数的数组 var array=new Array(); // 循环N次生成随机数 for(var i = 0 ; ; i++){     // 只生成10个随机数     if(array.length<10){           generateRandom(10);     }else{       break;    } } // 循环遍历随机数数组 for(var i = 0 ; i < array.length; i++){      alert(array[

js生成 1-100 不重复随机数

1 var count=100; var a=new Array(); 2 for(var i=0;i<100;i++){ 3 a[i]=i+1; 4 5 } 6 a.sort(function(){ 7 return 0.5-Math.random(); 8 9 }) 10 for(var i=0;i<a.length;i++){ 11 document.write(a[i]+" "); 12 }

js生成某个范围的随机数

//生成[min,max)的值 parseInt var RandomNum = parseInt(Math.random() * (21 - 15) + 15); // 生成[min,max]的值 Math.round 四舍五入 var RandomNum = Math.round(Math.random() * (21 - 15) + 15); //生成(min,max]的值 Math.ceil() 向上取整 var RandomNum = Math.ceil(Math.random() *

JS生成指定长度的随机数

1 /** 2 * 生成指定长度的UUID 3 * @param len 4 * @param radix 5 * @returns uuid 6 * eg: createUUID(8, 2) "01001010" createUUID(8, 10) "47473046" createUUID(8, 16) "098F4D35" 7 */调用 var num = createUUID(6, 10); 8 function createUUID(l