• javascript 取整,取余数 math方法


    1.丢弃小数部分,保留整数部分

    parseInt() 函数可解析一个字符串,并返回一个整数。

    parseInt(string, radix)

    参数描述
    string 必需。要被解析的字符串。
    radix

    可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

    如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

    如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

    parseInt("10");    //返回 10
    parseInt("19",10); //返回 19 (10+9)
    parseInt("11",2);  //返回 3 (2+1)
    parseInt("17",8);  //返回 15 (8+7)
    parseInt("1f",16); //返回 31 (16+15)
    parseInt("010");   //未定:返回 10 或 8

    2.向上取整,有小数,则整数部分加1

    ceil() 方法执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。

    Math.ceil(0.60)   // 1
    Math.ceil(0.40)   // 1
    Math.ceil(5)      // 5
    Math.ceil(5.1)    // 6
    Math.ceil(-5.1)   // -5
    Math.ceil(-5.9)   // -5

    3.四舍五入

    round() 方法可把一个数字舍入为最接近的整数。

    Math.round(0.60)  // 1
    Math.round(0.40)  // 0
    Math.round(5)     // 5
    Math.round(5.1)   // 5
    Math.round(-5.1)  // -5
    Math.round(-5.9)  // -6

    4.向下取整

    floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。

    Math.floor(0.60)  // 0
    Math.floor(0.40)  // 0
    Math.floor(5)     // 5
    Math.floor(5.1)   // 5
    Math.floor(-5.1)  // -6
    Math.floor(-5.9)  // -6

    5.取余数

    0%4  // 0
    1%4  // 1
    2%4  // 2
    3%4  // 3
    4%4  // 0
    5%4  // 1
    6.Math方法延伸
    6.1 max() 方法,比较一组数值中的最大值,返回最大值。
    var maxnum = Math.max(12,6,43,58,70);
    alert(maxnum); //"70"

    6.2 min() 方法,比较一组数值中的最小值,返回最小值。

    var minnum = Math.min(12,6,43,58,70);
    alert(minnum); //"6"

    7.产生随机数方法
    random()方法,返回一个大于等于0小于1的随机数,其实是小数值。
    随机数范围用区间表示即为[0,1),包含0不包含1。

    这里有一个公式:
    返回的值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值),
    套用这个公式可以返回某个整数范围内的随机数。
    我们注意到了上面的公式中调用了 floor() 方法,因为 random() 总是返回一个小数,而我们要返回的是整数,所以得对其返回值进行舍入操作。


    比如我们要随机产生1到10之间的整数,[1,10],包含1和10,可以套用公式编写下面的代码:

    var num = Math.floor(Math.random() * 10 + 1);

    [1,10] 之间包含10个数,因此可能值的总数是10,则 random()*10,即产生 [0,10) 之间的随机数;
    第一个可能的值是1,则 random()*10+1,即产生 [1,11) 之间的随机数;
    此时它产生的最小整数是1了,但最大整数并不是10,它会产生10.xxxxxxxxxx 这样的小数,于是用 floor() 将其向下舍入,这样它产生的最大整数就是10了。

    如果要随机产生 [5,10] 之间的整数,那么套用公式即可编写这样的代码:

    var num = Math.floor(Math.random() * 6 + 5);

    [5,10] 之间包含6个数,所以可能值的总数是6,则 random()*6;第一个可能的值是5,所以 random()*6+5;最后用 floor() 将其向下舍入。

    8.其他计算方法

    下面的这样方法都是用来进行各种简单或复杂的计算。

    Math.abs(num)                                   返回 num 的绝对值

    Math.exp(num)                                   返回 Math.E 的 num 次幂

    Math.log(num)                                    返回 num 的自然对数

    Math.pow(num,power)                        返回 num 的 power 次幂

    Math.sqrt(num)                                  返回 num 的平方根

    Math.acos(x)                                      返回 x 的反余弦值

    Math.asin(x)                                       返回 x 的反正弦值

    Math.atan(x)                                      返回 x 的反正切值

    Math.atan2(y,x)                                  返回 y/x 的反正切值

    Math.cos(x)                                        返回 x 的余弦值

    Math.sin(x)                                         返回 x 的正弦值

    Math.tan(x)                                        返回 x 的正切值

  • 相关阅读:
    LOJ 2553 「CTSC2018」暴力写挂——边分治+虚树
    hdu 1028 & hdu 1398 —— 整数划分(生成函数)
    bzoj 4827 [Hnoi2017] 礼物 —— FFT
    bzoj 4503 两个串 —— FFT
    bzoj 3527 [Zjoi2014] 力 —— FFT
    bzoj 3160 万径人踪灭 —— FFT
    bzoj 2194 快速傅立叶之二 —— FFT
    bzoj 2179 FFT快速傅立叶 —— FFT
    洛谷 P3803 多项式乘法(FFT) —— FFT
    CF 1009 F Dominant Indices —— 长链剖分+指针
  • 原文地址:https://www.cnblogs.com/iflygofy/p/9394905.html
Copyright © 2020-2023  润新知