JavaScript Các Kiểu Dữ Liệu Số

1. Các kiểu số cơ bản

JavaScript chỉ có một kiểu dữ liệu số cho tất cả các loại số: Number.

Số nguyên (Integer):

Số nguyên là số không có phần thập phân.

javascript

const num1 = 42; // Số nguyên dương const num2 = -7; // Số nguyên âm

Số thực (Floating-point):

Số thực là số có phần thập phân, lưu trữ dưới dạng dấu phẩy động.

javascript

const pi = 3.14159; // Số thực const negative = -123.456; // Số thực âm

2. Các giá trị đặc biệt của Number

  • NaN (Not-a-Number): Biểu thị khi không thể chuyển đổi hoặc thực hiện phép tính không hợp lệ.

javascript

console.log('abc' * 2); // NaN

  • Infinity: Đại diện cho số lớn hơn giới hạn của JavaScript.

javascript

console.log(1 / 0); // Infinity

  • -Infinity: Đại diện cho số nhỏ hơn giới hạn âm.

javascript

console.log(-1 / 0); // -Infinity

3. Kiểu số BigInt

JavaScript cung cấp BigInt để làm việc với các số nguyên rất lớn, vượt quá giới hạn của kiểu Number (khoảng ±(2^53 - 1)).

Cách sử dụng BigInt:

  • Định nghĩa BigInt bằng cách thêm hậu tố n sau số:

javascript

const bigNum = 123456789012345678901234567890n; console.log(bigNum); // Output: 123456789012345678901234567890n

  • Không thể sử dụng BigInt với các kiểu Number thông thường:

javascript

console.log(10n + 20n); // Hợp lệ console.log(10n + 20); // Lỗi

4. Các phương thức và hàm liên quan đến số

JavaScript cung cấp các phương thức và hàm để làm việc với số:

Phương thức của Number:

  • Number.isInteger(x): Kiểm tra xem số có phải là số nguyên.

javascript

console.log(Number.isInteger(25)); // true console.log(Number.isInteger(25.5)); // false

  • Number.isNaN(x): Kiểm tra xem giá trị có phải là NaN.

javascript

console.log(Number.isNaN('hello' / 2)); // true

  • Number.isFinite(x): Kiểm tra xem số có phải hữu hạn.

javascript

console.log(Number.isFinite(1000)); // true console.log(Number.isFinite(Infinity)); // false

Hàm toán học (Math):

  • Math.abs(x): Giá trị tuyệt đối.
  • Math.round(x): Làm tròn số.
  • Math.floor(x): Làm tròn xuống.
  • Math.ceil(x): Làm tròn lên.
  • Math.random(): Sinh số ngẫu nhiên từ 0 đến < 1.
  • Math.pow(a, b): Tính lũy thừa aba^bab.
  • Math.sqrt(x): Tính căn bậc hai.

Ví dụ:

javascript

console.log(Math.abs(-5)); // Output: 5 console.log(Math.round(4.6)); // Output: 5 console.log(Math.random()); // Output: Một số ngẫu nhi&ecirc;n

5. Các giới hạn của số

  • Giá trị nhỏ nhất và lớn nhất:

javascript

console.log(Number.MAX_VALUE); // Gi&aacute; trị lớn nhất (1.7976931348623157e+308) console.log(Number.MIN_VALUE); // Gi&aacute; trị dương nhỏ nhất (5e-324)

  • Độ chính xác: JavaScript chỉ chính xác đến 15 chữ số. Khi vượt quá, số có thể bị mất chính xác:

javascript

console.log(0.1 + 0.2); // Kh&ocirc;ng ch&iacute;nh x&aacute;c ho&agrave;n to&agrave;n: 0.30000000000000004

Để giải quyết, sử dụng các thư viện như Big.js hoặc Decimal.js.

Tóm tắt

  • Number: Dùng cho số thông thường (số nguyên và số thập phân).
  • BigInt: Dùng khi cần số nguyên rất lớn.
  • Hỗ trợ nhiều phương thức tiện ích cho việc thao tác và tính toán số.

Xem thêm ví dụ trên Stackoverflow

About the Author

Tin liên quan