CodeGym /课程 /Frontend SELF ZH /数字及其相关操作

数字及其相关操作

Frontend SELF ZH
第 33 级 , 课程 2
可用

3.1 Number类型

数字在JavaScript中非常重要,用来处理数据和执行计算。这个语言提供了很多操作数字的方法,包括各种运算操作和内置方法。

在JavaScript中,数字只有一个数据类型——Number。它既可以表示整数,也可以表示浮点数。另外,从2020年开始,引入了BigInt类型,可以处理超大的整数。

示例:

JavaScript
    
      let integer = 42;           // 整数
      let float = 3.14;           // 浮点数
      let bigInt = 12345678901234567890n; // 超大整数
    
  

数字相关操作

算术运算:

操作 语法 描述 示例 结果
加法 a + b 两个数字相加 5 + 3 8
减法 a - b 一个数字减去另一个数字 10 - 4 6
乘法 a * b 两个数字相乘 7 * 3 21
除法 a / b 一个数字除以另一个数字 20 / 5 4
取余 a % b 返回取余的结果 10 % 3 1
幂运算 a ** b 将数字提升到指定幂 2 ** 3 8

自增和自减

操作 语法 描述 示例 结果
自增 ++a 值加一(前置) let a = 5;
++a;
6
自增 a++ 值加一(后置) let a = 5;
a++;
5(接着是6)
自减 --b 值减一(前置) let b = 5;
--b;
4
自减 b-- 值减一(后置) let b = 5;
b--;
5(接着是4)

复合操作

操作 语法 描述 示例 结果
加赋值 a += b 加并赋值 let x = 10;
x += 5;
15
减赋值 a -= b 减并赋值 let x = 10;
x -= 3;
7
乘赋值 a *= b 乘并赋值 let x = 10;
x *= 2;
20
除赋值 a /= b 除并赋值 let x = 10;
x /= 2;
5
余数赋值 a %= b 取余并赋值 let x = 10;
x %= 3;
1

3.2 内置方法

JavaScript 有内置的 Math 对象,用于执行各种数学操作。

1. Math.round():

将数值四舍五入到最近的整数。

JavaScript
    
      let rounded = Math.round(4.6); // 5
    
  

2. Math.ceil():

向上舍入到最近的整数。

JavaScript
    
      let ceil = Math.ceil(4.2); // 5
    
  

3. Math.floor():

向下舍入到最近的整数。

JavaScript
    
      let floor = Math.floor(4.8); // 4
    
  

4.Math.random():

返回一个随机数,范围在0到1之间。

JavaScript
    
      let random = Math.random();
    
  

5. Math.max() 和 Math.min():

返回一组数中的最大值和最小值。

JavaScript
    
      let max = Math.max(1, 2, 3, 4); // 4
      let min = Math.min(1, 2, 3, 4); // 1
    
  

6. Math.sqrt():

返回一个数的平方根。

JavaScript
    
      let sqrt = Math.sqrt(16); // 4
    
  

7. Math.pow():

返回一个数的指数幂结果。

JavaScript
    
      let pow = Math.pow(2, 3); // 8
    
  

3.3 字符串转换为数字

parseInt()函数:

将字符串转换为整数。

JavaScript
    
      let int = parseInt('123'); // 123
    
  

parseFloat()函数:

将字符串转换为浮点数。

JavaScript
    
      let float = parseFloat('3.14'); // 3.14
    
  

Number()函数:

将值转换为数字。

JavaScript
    
      let num = Number('42'); // 42
    
  

值检查

isNaN()函数:

检查一个值是否为NaN(非数字)。

JavaScript
    
      let isNotNumber = isNaN('hello'); // true
    
  

isFinite()函数:

检查一个值是否为有限数字(是否不是无穷大)。

JavaScript
    
      let finite = isFinite(10); // true
      let notFinite = isFinite(Infinity); // false
    
  

3.4 JavaScript数字特点

1. 数字范围

JavaScript中的数字是用双精度浮点数表示的,这样有一定的限制:

  • 最大值:Number.MAX_VALUE
  • 最小值:Number.MIN_VALUE
  • 正无穷:Infinity
  • 负无穷:-Infinity
  • 非数字 (NaN):不属于数字的值

2. 数字精度

处理浮点数时可能会带来精度问题:

JavaScript
    
      let sum = 0.1 + 0.2;
      console.log(sum); // 0.30000000000000004
    
  

几乎所有编程语言都有这个问题,JavaScript也不例外。

3. 安全整数

在JavaScript中,有"安全"整数的概念,这是指可以安全表示为浮点数的整数:

  • 最大安全整数:Number.MAX_SAFE_INTEGER (253 - 1)
  • 最小安全整数:Number.MIN_SAFE_INTEGER (-(253 - 1))
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION