HarmonyOs DevEco Studio小技巧16 --Math类的用法

 Math 类是 JavaScript 中内置的用于数学计算的对象,它包含了许多用于数学运算的属性和方法。

常见的用法:

数学常量:

  • Math.PI :圆周率(约等于 3.14159)
  • console.log(Math.PI.toString());
    //3.141592653589793

取整方法:

  • Math.floor(x) :向下取整,返回小于或等于 x 的最大整数。
  • console.log(Math.floor(3.8).toString());//3
  • Math.ceil(x) :向上取整,返回大于或等于 x 的最小整数。
  • console.log(Math.ceil(3.2).toString());//4
  • Math.round(x) :四舍五入取整。
  • console.log(Math.round(3.5).toString());//4
    console.log(Math.round(3.3).toString());//3

最大值和最小值:

  • Math.max(a, b, c,...) :返回参数中的最大值。
  • console.log(Math.max(5, 10, 15).toString());//15
  • Math.min(a, b, c,...) :返回参数中的最小值。
  • console.log(Math.min(5, 10, 15).toString());//5

随机数生成:

  • Math.random() :返回一个介于 0(包括)和 1(不包括)之间的随机浮点数。
  • console.log(Math.random().toString());
    //0.9022647129362862

绝对值:

  • Math.abs(x) :返回 x 的绝对值。
  • console.log(Math.abs(-5).toString());//5

幂运算和平方根:

  • Math.pow(x, y) :返回 x 的 y 次幂。
  • console.log(Math.pow(2, 3).toString);//8
  • Math.sqrt(x) :返回 x 的平方根。
  • console.log(Math.sqrt(9).toString());//3

    数学计算场景

  • 生成指定范围内的随机整数

  • function getRandomInt(min:number, max:number) {
      return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    
    console.log(getRandomInt(1, 10).toString()); //9

  • 计算两点之间的距离

  • function distance(x1:number, y1:number, x2:number, y2:number) {
      return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
    }
    
    console.log(distance(0, 0, 3, 4).toString()); //5

  • 角度与弧度的转换

  • function degreesToRadians(degrees: number) {
      return degrees * (Math.PI / 180);
    }
    
    // 弧度转角度
    function radiansToDegrees(radians: number) {
      return radians * (180 / Math.PI);
    }
    
    console.log(degreesToRadians(90).toString()); //1.5707963267948966
    console.log(radiansToDegrees(Math.PI / 2).toString()); //90

  • 计算阶乘

  • function factorial(n:number):number {
      if (n === 0 || n === 1) {
        return 1;
      } else {
        return n * factorial(n - 1);
      }
    }
    
    console.log(factorial(5).toString()); //120

  • 对数组中的数值进行数学运算

  • let numbers = [1, 2, 3, 4, 5];
    
    // 计算数组元素的总和
    let sum = numbers.reduce((acc, curr) => acc + curr, 0);
    console.log(sum.toString());//15
    
    // 计算数组元素的平均值
    let average = sum / numbers.length;
    console.log(average.toString());//3

  • 数值的指数运算

  • console.log(Math.exp(1).toString());//2.718281828459045
    console.log(Math.exp(2).toString());// 7.38905609893065
    

  • 对数运算

  • // 自然对数
    console.log(Math.log(Math.E).toString()); //1
    // 以 10 为底的对数
    console.log(Math.log10(100).toString());//2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值