• 随机数。


    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的随机整数。

    Math.floor(Math.random()*10); //可均衡获取0到9的随机整数。

    Math.round(Math.random()*10); //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
    因为结果在 0~0.4 为 0,0.5 到 1.4 为 1,8.5 到 9.4 为 9,9.5 到 9.9 为 10。所以头尾的分布区间只有其他数字的一半。

    获取一个随机数:
    function getRandom() {
    return Math.round(Math.random()*10)
    }
    console.log(getRandom())

    获取两个数之间的随机数:
    function getRandom(min,max) {
    return Math.random()*(max-min)+min;
    }
    console.log(getRandom(1,5))

    获取两个数之间的随机整数(含最小值不含最大值):
    function getRandomInt(min,max) {
    min=Math.ceil(min) //向上取整
    max=Math.floor(max)//向下取整
    return Math.floor(Math.random()*(max-min)) +min//含最大值,不含最小值
    }
    console.log(getRandomInt(1,5))
    获取两个数之间的随机整数(含最小值也含最大值):
    function getRandomIntInclusive(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
    }
    console.log(getRandomIntInclusive(1,5));
    请注意, 由于 JavaScript 中的数字是 IEEE 754 浮点数字,具有最近舍入( round-to-nearest-even)的行为, 因此以下函数的范围 (不包括Math.random () 本身) 并不准确。如果选择了非常大的边界 (253 或更高), 在极罕见的情况下会计算通常-排除(usually-excluded)的上界。

    IEEE 754标准的默认模式是最近舍入(舍入为最接近的偶数),它与四舍五入不同的是,对.5的舍入上采用取偶数的方式,即round-to-nearest-even,如:

    Round to nearest even:Round(0.5) = 0; Round(1.5) = 2; Round(2.5) = 2;Round(3.5) = 4;

    以前一直以为toFixed就是四舍五入的方法,后来又有一段时间以为toFixed是五舍六入。今天终于写的时候,终于才知道toFixed是一个叫做四舍六入无成双的诡异的方法。。。
    
    完全不明白为什么要这么写。。。
    
     
    
    什么是四舍六入五成双:百度是这么说的:
    
    对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数)
    
     
    
    所以也就是说: (0.5251).toFixed(2) => 0.53   然而 (0.525).toFixed(2)=>0.52,这并不是我们想用的四舍五入的方法。所以可以这么修改:
    


    var a=1.55;
    var b=1.65;
    var c=a.toFixed(1);
    var d=b.toFixed(1);
    console.log(c);        //1.6
    console.log(d);        //1.6

  • 相关阅读:
    javaScript事件(二)事件处理程序
    【前端】模糊图片
    【前端】js转码
    【翻译】Sencha Touch2.4 The Layout System 布局
    Sencha Touch 2.4 callParent() 用法
    2015 WEB前端学习路线图
    Nodejs Express 4.X 中文API 4--- Router篇
    Nodejs Express 4.X 中文API 3--- Response篇
    Nodejs Express 4.X 中文API 2--- Request篇
    Nodejs Express 4.X 中文API 1--- Application篇
  • 原文地址:https://www.cnblogs.com/hy96/p/11455005.html
Copyright © 2020-2023  润新知