Số JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về JavaScript Number với sự trợ giúp của các ví dụ.

Trong JavaScript, số là kiểu dữ liệu nguyên thủy. Ví dụ,

const a = 3;
const b = 3.13;

Không giống như trong một số ngôn ngữ lập trình khác, bạn không phải khai báo cụ thể cho các giá trị số nguyên hoặc giá trị động bằng cách sử dụng int , float , v.v.

Bạn có thể sử dụng ký hiệu mũ e để bao gồm các số quá lớn hoặc quá nhỏ. Ví dụ,

const a1 = 5e9;
console.log(a1); //5000000000

const a2 = 5e-5;
console.log(a2); // 0.00005

Các số cũng có thể được biểu thị bằng ký hiệu thập lục phân. Ví dụ,

const a = 0xff;
console.log(a); // 255

const b = 0x00 ;
console.log(b); // 0

+ Toán tử với số

Khi +được sử dụng với các số, nó được sử dụng để thêm các số. Ví dụ,

const a = 4 + 9;
console.log(a); // 13

Khi +được sử dụng với số và chuỗi, nó được sử dụng để nối chúng. Ví dụ,

const a = '4' + 9;
console.log(a); // 49

Khi một chuỗi số được sử dụng với các phép toán số khác, chuỗi số được chuyển đổi thành một số. Ví dụ,

const a = '4' - 2;
console.log(a); // 2

const a = '4' / 2;
console.log(a); // 2

const a = '4' * 2;
console.log(a); // 8

JavaScript NaN

Trong JavaScript, NaN(Không phải số) là một từ khóa cho biết rằng giá trị không phải là một số.

Thực hiện các phép toán số học (ngoại trừ +) với giá trị số với kết quả là chuỗi NaN. Ví dụ,

const a = 4 - 'hello';
console.log(a); // NaN

Hàm tích hợp isNaN()có thể được sử dụng để tìm xem một giá trị có phải là một số hay không. Ví dụ,

const a = isNaN(9);
console.log(a); // false

const a = isNaN(4 - 'hello');
console.log(a); // true

Khi typeof toán tử được sử dụng cho NaNgiá trị, nó sẽ đưa ra một đầu ra số. Ví dụ,

const a = 4 - 'hello';
console.log(a); // NaN
console.log(typeof a); // "number"

JavaScript Infinity

Trong JavaScript, khi tính toán được thực hiện vượt quá số lớn nhất (hoặc nhỏ nhất) có thể, Infinity (hoặc -Infinity) được trả về. Ví dụ,

const a = 2 / 0;
console.log(a); // Infinity

const a = -2 / 0;
console.log(a); // -Infinity

JavaScript BigInt

Trong JavaScript, kiểu Số chỉ có thể đại diện cho các số nhỏ hơn (2 53 – 1) và nhiều hơn – (2 53 – 1) . Tuy nhiên, nếu bạn cần sử dụng một số lớn hơn thế, bạn có thể sử dụng kiểu dữ liệu BigInt.

Một số BigInt được tạo bằng cách thêm n vào cuối một số nguyên. Ví dụ,

// BigInt value
const value = 900719925124740998n;

// Adding two big integers
const value1 = value + 1n;
console.log(value1); // returns "900719925124740999n"

Lưu ý: BigInt đã được giới thiệu trong phiên bản JavaScript mới hơn và không được nhiều trình duyệt hỗ trợ. Truy cập bộ phận hỗ trợ của JavaScript BigInt để tìm hiểu thêm.

Số JavaScript được lưu trữ trong 64-bit

Trong JavaScript, các số được lưu trữ ở định dạng 64-bit IEEE-754 , còn được gọi là “số dấu chấm động chính xác kép”.

Các số được lưu trữ trong 64 bit (số được lưu trữ ở vị trí từ 0 đến 51 bit, số mũ ở vị trí 52 đến 62 bit và dấu ở vị trí 63 bit).

NumbersExponentSign
52 bits(0 – 51)11 bits(52- 62)1 bit(63)

Vấn đề về độ chính xác

Các phép toán trên số dấu phẩy động dẫn đến một số kết quả không mong muốn. Ví dụ,

const a = 0.1 + 0.2;
console.log(a); // 0.30000000000000004

Kết quả phải là 0,3 thay vì 0,30000000000000004 . Lỗi này xảy ra vì trong JavaScript, các số được lưu trữ ở dạng nhị phân để biểu thị các chữ số thập phân trong nội bộ. Và số thập phân không thể được biểu diễn ở dạng nhị phân một cách chính xác.

Để giải quyết vấn đề trên, bạn có thể làm như sau:

const a = (0.1 * 10 + 0.2 * 10) / 10;
console.log(a); // 0.3

Bạn cũng có thể sử dụng toFixed()phương pháp này.

const a = 0.1 + 0.2;
console.log(a.toFixed(2)); // 0.30

toFixed(2) làm tròn số thập phân thành hai giá trị thập phân.

const a = 9999999999999999
console.log(a); // 10000000000000000

Lưu ý : Số nguyên chính xác đến 15 chữ số.

Đối tượng số

Bạn cũng có thể tạo số bằng newtừ khóa. Ví dụ,

const a = 45;

// creating a number object
const b = new Number(45);

console.log(a); // 45
console.log(b); // 45

console.log(typeof a); // "number"
console.log(typeof b); // "object"

Lưu ý : Nên tránh sử dụng các đối tượng số. Sử dụng các đối tượng số làm chậm chương trình.

Phương pháp số JavaScript

Đây là danh sách các phương thức số được tích hợp sẵn trong JavaScript.

MethodDecfscription
isNaN()determines whether the passed value is NaN
isFinite()determines whether the passed value is a finite number
isInteger()determines whether the passed value is an integer
isSafeInteger()determines whether the passed value is a safe integer
parseFloat(string)converts the numeric floating string to floating-point number
parseInt(string, [radix])converts the numeric string to integer
toExponential(fractionDigits)returns a string value for a number in exponential notation
toFixed(digits)returns a string value for a number in fixed-point notation
toPrecision()returns a string value for a number to a specified precision
toString([radix])returns a string value in a specified radix(base)
valueof()returns the numbers value
toLocaleString()returns a string with a language sensitive representation of a number

Ví dụ,

// check if a is integer
const a = 12;
console.log(Number.isInteger(a)); // true

// check if b is NaN
const b = NaN;
console.log(Number.isNaN(b)); // true

// display upto two decimal point
const d = 5.1234;
console.log(d.toFixed(2)); // 5.12

Thuộc tính số JavaScript

Đây là danh sách các thuộc tính Number trong JavaScript.

PropertyDecfscription
EPSILONreturns the smallest interval between two representable numbers
MAX_SAFE_INTEGERreturns the maximum safe integer
MAX_VALUEreturns the largest possible value
MIN_SAFE_INTEGERreturns the minimum safe integer
MIN_VALUEreturns the smallest possible value
NaNrepresents ‘Not-a-Number’ value
NEGATIVE_INFINITYrepresents negative infinity
POSITIVE_INFINITYrepresents positive infinity
prototypeallows the addition of properties to Number objects

Ví dụ,

// largest possible value
const a = Number.MAX_VALUE;
console.log(a); // 1.7976931348623157e+308

// maximum safe integer
const a = Number.MAX_SAFE_INTEGER;
console.log(a); // 9007199254740991

JavaScript Number () Hàm

Các Number()chức năng được sử dụng để chuyển đổi các kiểu dữ liệu khác nhau để con số. Ví dụ,

const a = '23'; // string
const b = true; // boolean

//converting to number
const result1 = Number(a);
const result2 = Number(b);

console.log(result1); // 23
console.log(result2); // 1

Nếu bạn muốn tìm hiểu thêm về chuyển đổi số, hãy truy cập Chuyển đổi loại JavaScript .









Gõ tìm kiếm nhanh...