Không giống như nhiều ngôn ngữ lập trình khác, JavaScript không xác định các loại số khác nhau, như số nguyên, ngắn, dài, dấu phẩy động, v.v.
Số JavaScript luôn được lưu trữ dưới dạng số dấu phẩy động có độ chính xác kép, tuân theo tiêu chuẩn quốc tế IEEE 754
Định dạng này lưu trữ các số trong 64 bit, trong đó số [phân số] được lưu trữ trong các bit từ 0 đến 51, số mũ trong các bit từ 52 đến 62 và dấu ở bit 63
Giá trị [còn gọi là Phân số/Phần định trị]Số mũDấu52 bit [0 - 51] 11 bit [52 - 62]1 bit [63]Độ chính xác số nguyên
Số nguyên [số không có dấu chấm hoặc ký hiệu số mũ] chính xác đến 15 chữ số
Thí dụ
đặt x = 999999999999999;
cho y = 9999999999999999;
Số thập phân lớn nhất là 17
độ chính xác nổi
Để giải bài toán trên giúp nhân chia
đặt x = [0. 2 * 10 + 0. 1*10]/10;
Tự mình thử »Thêm số và chuỗi
CẢNH BÁO
JavaScript sử dụng toán tử + cho cả phép cộng và phép nối
Số được thêm vào. Chuỗi được nối
Nếu bạn cộng hai số, kết quả sẽ là một số
Nếu bạn thêm hai chuỗi, kết quả sẽ là nối chuỗi
Nếu bạn thêm một số và một chuỗi, kết quả sẽ là nối chuỗi
Nếu bạn thêm một chuỗi và một số, kết quả sẽ là nối chuỗi
Một sai lầm phổ biến là mong đợi kết quả này là 30
Một sai lầm phổ biến là mong đợi kết quả này là 102030
Trình thông dịch JavaScript hoạt động từ trái sang phải
10 + 20 đầu tiên được thêm vào vì x và y đều là số
Khi đó 30 + "30" được nối với nhau vì z là một chuỗi
Chuỗi số
Chuỗi JavaScript có thể có nội dung số
cho x = 100;
cho y = "100";
JavaScript sẽ cố gắng chuyển đổi chuỗi thành số trong tất cả các hoạt động số
Điều này sẽ làm việc
Điều này cũng sẽ làm việc
Và điều này sẽ làm việc
Nhưng điều này sẽ không làm việc
Trong ví dụ trước, JavaScript sử dụng toán tử + để nối các chuỗi
NaN - Không phải là số
NaN
là một từ dành riêng cho JavaScript chỉ ra rằng một số không phải là số hợp lệ
Cố gắng làm phép tính với một chuỗi không phải là số sẽ dẫn đến kết quả là NaN
[Không phải là số]
Tuy nhiên, nếu chuỗi chứa giá trị số, kết quả sẽ là một số
Bạn có thể sử dụng hàm JavaScript toàn cục isNaN[]
để tìm hiểu xem giá trị có phải là số không
Coi chừng NaN
. Nếu bạn sử dụng NaN
trong một phép toán, kết quả cũng sẽ là NaN
Hoặc kết quả có thể là một phép nối như NaN5
NaN
là một số. typeof NaN
trả lại number
vô cực
Infinity
[hoặc NaN
0] là giá trị mà JavaScript sẽ trả về nếu bạn tính toán một số nằm ngoài số lớn nhất có thể
Đôi khi chúng ta cần sắp xếp các chuỗi tương tự như số. Ví dụ: 10 đứng trước 2 theo thứ tự bảng chữ cái, nhưng sau 02
Các số 0 đứng đầu được sử dụng để khớp với thứ tự tăng dần của các số theo thứ tự bảng chữ cái. Bài đăng này sẽ hướng dẫn cách nối các số 0 đứng đầu trong JavaScript
Nối các số 0 ở đầu vào các số trong JavaScript
Phương thức padStart[]
là một phương thức dựng sẵn do JavaScript cung cấp. Phương thức này đệm hoặc nối chuỗi hiện tại với một chuỗi khác cho đến khi chuỗi kết quả đạt đến độ dài đã chỉ định
Nếu cần thiết, nó sẽ nối nó nhiều lần. Phần đệm được áp dụng từ đầu chuỗi đầu vào và nó trả về một chuỗi có độ dài đích đã chỉ định với ____24_______ được áp dụng từ đầu
cú pháp
padStart[targetLength]
padStart[targetLength, padString]
Phương thức String.padStart
chấp nhận 2 tham số sau
target length
cho chuỗi có độ dài này, chuỗi được đệm bằng chuỗi đệm. Dấu thập phân hoặc dấu trừ cũng được tính đếnpad string
, chuỗi con áp dụng ở đầu chuỗi
Phương thức
function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
0 chỉ hoạt động trên chuỗi, vì vậy để sử dụng phương thức function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
0, trước tiên, chúng ta phải chuyển đổi số thành chuỗi. Tìm thêm thông tin trong tài liệu về padStart[]
Các bước thêm số 0 đứng đầu một số
- Chuyển đổi số đã cho thành một chuỗi mới
- Gọi phương thức
padStart[]
của JavaScript để nối/nối các số 0 vào đầu chuỗi - Phương thức
0 trả về một chuỗi mới với chuỗi đệm được chỉ định được áp dụng ngay từ đầufunction addLeadingNumberZeros[number, totalLength] { return String[number].padStart[totalLength, '0']; } console.log[addLeadingNumberZeros[4, 2]]; console.log[addLeadingNumberZeros[4, 3]]; console.log[addLeadingNumberZeros[4, 4]];
function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
đầu ra
const num = '00' + 8;
console.log[num];
đầu ra
Tất cả các số 0 ở đầu sẽ tự động bị xóa nếu bạn chuyển đổi chuỗi đệm trở lại thành một số vì
function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
5. JavaScript không giữ các số 0 ở đầu không đáng kểNếu độ dài chuỗi đầu vào vượt quá độ dài mục tiêu đã chỉ định, toàn bộ chuỗi sẽ trả về từ phương thức
function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
0. Nếu cần xử lý số âm, bạn cần thêm câu lệnh function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
7 thêm dấu trừ sau khi thêm số 0 đứng đầufunction addLeadingNumberZeros[number, totalLength] {
if [number < 0] {
const withoutNegativeSign = String[number].slice[1];
return '-' + withoutNegativeSign.padStart[totalLength, '0'];
}
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[3, 2]];
console.log[addLeadingNumberZeros[-3, 3]];
đầu ra
Thêm một câu lệnh
function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
7 để kiểm tra xem một số âm có được đưa vào hàm hay không. Lưu ý rằng chúng tôi cố ý không bao gồm dấu trừ trong độ dài mục tiêu của chuỗi mớiĐể xử lý các số âm, chúng tôi phải bỏ dấu trừ, thêm các số 0 ở đầu và thêm dấu trừ vào đầu chuỗi. Cách tiếp cận thay thế tốt nhất và đơn giản hơn là sử dụng toán tử cộng [
function addLeadingNumberZeros[number, totalLength] {
return String[number].padStart[totalLength, '0'];
}
console.log[addLeadingNumberZeros[4, 2]];
console.log[addLeadingNumberZeros[4, 3]];
console.log[addLeadingNumberZeros[4, 4]];
9]