Javascript 随机数 int 范围一个数 float

1.随机取int范围一个数,比如0-3中取0,1,2,3,同时包含0和3

<script>

var rand = {};
rand.getInt = function (begin,end){
 return Math.floor(Math.random()*(end-begin + 1)) + begin;
}
var v = rand.getInt(0,3)
alert(v);

</script>

常见错误写法:

<script>

var rand = {};
rand.getInt = function (begin,end){
 return Math.floor(Math.random()*(end-begin)) + begin;
}
var v = rand.getInt(0,3)
alert(v);

</script>

因为javascirpt的Math.random()的范围是[0,1),包含0,不包含1,错误写法中,因为Math.floor是向下取整,所以:

Math.floor([0,1) * 3) + 0 的取值范围是[0,1,2],永远取不到3.

2.随机取float范围一个数

<script>

var rand = {};
rand.get = function (begin,end,precision){
 return (Math.random()*(end-begin) + begin).toFixed(precision);
}
var v = rand.get(0,3,2)
alert(v);

</script>

这样取不到3,也是个问题,没有什么好办法吗?

http://www.waitingfy.com/archives/1760

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 18:37:59

Javascript 随机数 int 范围一个数 float的相关文章

JavaScript 随机数

document.write(parseInt(10*Math.random())); //输出0-10之间的随机整数document.write(Math.floor(Math.random()*10+1)); //输出1-10之间的随机整数 //输出指定位数的随机数的随机整数 function RndNum(n){ var rnd=""; for(var i=0;i<n;i++) rnd+=Math.floor(Math.random()*10); return rnd;}d

Swift入门(九)——String与Int、Double、Float等数字相互转换

三种转换模式 任何语言里面,Int.float.double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法.总结下来一共有三种转换模式,分别举例说明. 一.String转数字 这里以String类型转Int类型为例.String转其他的数字类型(Float.Double等)大同小异.主要用到的方法是String类型的toInt方法.注意这个方法返回的是Int?,即一个整数可选类型.所以需要解封. var string = "1234"

Javascript 随机数函数 学习之二:产生服从正态分布随机数

一.为什么需要服从正态分布的随机函数 一般我们经常使用的随机数函数 Math.random() 产生的是服从均匀分布的随机数,能够模拟等概率出现的情况,例如 扔一个骰子,1到6点的概率应该相等,但现实生活中更多的随机现象是符合正态分布的,例如20岁成年人的体重分布等. 假如我们在制作一个游戏,要随机设定许许多多 NPC 的身高,如果还用Math.random(),生成从140 到 220 之间的数字,就会发现每个身高段的人数是一样多的,这是比较无趣的,这样的世界也与我们习惯不同,现实应该是特别高

String数据类型转换成long、int、double、float、boolean、char等七种数据类型

String c="123456"; //当String类型数据 要转换成int.double.float.long等数据类型时,其数据必须由数字构成, //当String类型数据由汉字或字母组成时转换成int.double.float.long等数据类型时,程序报错 //String类型转换成long类型 //String类型数据转换成long类型时 String类型的数据必须是数字构成 long n=Long.parseLong(c); System.out.println(&qu

JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&amp;nbs

代码片段: byte bmax, bmin; short shmax, shmin; char cmax, cmin; int imax, imin; long lmax,lmin; float fmax,fmin; double dmax,dmin; fmax = Float.MAX_VALUE; fmin = Float.MIN_VALUE; dmax = Double.MAX_VALUE; dmin = Double.MIN_VALUE; bmax = Byte.MAX_VALUE; bm

Java中short、int、long、float、double的取值范围

一.基本数据类型的特点,位数,最大值和最小值.1.基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此方)最大值:Short.MAX_VALUE=32767 (2的15次方-1)2.基本类型:int 二进制位数:32包装类:java.lang.Integer最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)最大值:Integer.MAX_VALUE= 214748

关于各种类型数据char、int、double、float 所占空间长度的计算,而char类型让我长姿势了

1 #include <iostream> 2 int main() 3 { 4 using namespace std; 5 //int A=10; 6 //double B=6; 7 cout << sizeof(int) << endl; 8 cout << sizeof(double) << endl; 9 cout << sizeof(float) << endl; 10 cout << sizeof

java中short、int、long、float、double取值范围

一.分析基本数据类型的特点,最大值和最小值.1.基本类型:int 二进制位数:32包装类:java.lang.Integer最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)2.基本类型:short 二进制位数:16包装类:java.lang.Short最小值:Short.MIN_VALUE=-32768 (-2的15此方)最大值:Short.MAX_VALUE=327

C++: string 转 int ;string转float;int 转string;double转char*

1.string转int std::string str1="700" int bid_v1 = atoi(str1.c_str()); 2.string转float std::string str2="6.78" float bid_p1 = atof(str2.c_str()); 3.int 转string int n =789; char t[256]; sprintf(t, "%d", n); string s(t) 4.double转c