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 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ể đạ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).
Numbers | Exponent | Sign |
---|---|---|
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 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 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.
Method | Decfscription |
---|---|
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.
Property | Decfscription |
---|---|
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 | represents positive infinity |
prototype | allows 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 .