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ư 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
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
(Not a Number) 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ừ +
) đến 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 NaN
giá 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ể biểu thị 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).
Số | Số mũ | Ký tên |
---|---|---|
52 bit (0 - 51) | 11 bit (52- 62) | 1 bit (63) |
Vấn đề 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 bên trong. Và số thập phân không thể được biểu diễn chính xác ở dạng nhị phân.
Để 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 new
từ 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 thức số JavaScript
Đây là danh sách các phương thức số được tích hợp sẵn trong JavaScript.
phương pháp | Sự miêu tả |
---|---|
isNaN () | xác định xem giá trị được truyền có phải là NaN hay không |
isFinite () | xác định xem giá trị được truyền có phải là một số hữu hạn hay không |
isInteger () | xác định xem giá trị đã truyền có phải là số nguyên hay không |
isSafeInteger () | xác định xem giá trị đã truyền có phải là số nguyên an toàn hay không |
parseFloat (chuỗi) | chuyển đổi chuỗi số động thành số dấu phẩy động |
parseInt (chuỗi, (cơ số)) | chuyển đổi chuỗi số thành số nguyên |
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 |
For example,
// 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
JavaScript Number Properties
Here is a list of Number properties in JavaScript.
Property | Description |
---|---|
EPSILON | returns the smallest interval between two representable numbers |
MAX_SAFE_INTEGER | returns the maximum safe integer |
MAX_VALUE | returns the largest possible value |
MIN_SAFE_INTEGER | returns the minimum safe integer |
MIN_VALUE | returns the smallest possible value |
NaN | represents 'Not-a-Number' value |
NEGATIVE_INFINITY | represents negative infinity |
POSITIVE_INFINITY | đại diện cho vô cùng tích cực |
nguyên mẫu | cho phép thêm các thuộc tính vào các đối tượng Số |
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.