zoukankan      html  css  js  c++  java
  • 随机数。

    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

  • 相关阅读:
    PHP无限极分类
    MySQL批量插入测试数据
    MySQL常见面试知识点汇总
    小程序交易组件-自定义交易组件相关知识
    Matplotlib
    sklearn之计算回归模型的四大评价指标(explained_variance_score、mean_absolute_error、mean_squared_error、r2_score)
    pandas.core.frame.DataFrame 切片技巧
    Pyspider all 出现的坑
    mysql 问题
    爬虫遇到HTTP Error 403的问题
  • 原文地址:https://www.cnblogs.com/hy96/p/11455005.html
Copyright © 2011-2022 走看看