Hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 phân tích đối số đầu vào chuỗi của hàm và trả về kết quả là một giá trị số nguyên. Nếu không được thì hàm trả về NaN. Trong cuộc sống, chúng ta thường sử dụng các giá trị với đơn vị nhất định, chẳng hạn như "$10". Để nhận giá trị số của các dòng như vậy ta có thể sử dụng hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2Cú pháp và tham số
Cú pháp của hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2. parseInt[string]
parseInt[string, radix]
Giá trị
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
5 - chuỗi đầu vào được chuyển đổi thành giá trị số nguyên [bắt buộc]Giá trị
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
6 - cũng là đối số số nguyên cho biết cơ sở của hệ thống số của số được phân tích trong chuỗi, cho phép giá trị từ 2 đến 36 [tùy chọn, giá trị mặc định là 10]. Nói chung, tốt hơn là chỉ định lập luận này. Nếu không, chúng tôi có thể gặp thêm lỗi trong chương trìnhNếu đối số này không có hoặc bằng 0, giá trị chuỗi có thể được phân tích cú pháp theo các cách sau
Nếu các ký tự đầu tiên của chuỗi "0x" hoặc "0X", thì nó được phân tích cú pháp dưới dạng số thập lục phân
Nếu ký tự đầu tiên của chuỗi là "0", thì nó được phân tích thành một số bát phân. Điều đáng nói là ngày nay không phải tất cả các trình duyệt đều coi số được phân tích cú pháp là số bát phân. Một số chuỗi, ngay cả khi chúng bắt đầu bằng "0", được phân tích cú pháp dưới dạng số thập phân
Nếu chuỗi bắt đầu bằng một chữ số khác "0", thì nó được phân tích cú pháp dưới dạng số thập phân
Ở phần cuối của bài viết này, chúng ta sẽ xem xét những đối số nào có thể được cung cấp cho hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 và những loại số tồn tại nói chung và có bao nhiêu cách bạn có thể viết cùng một sốGiá trị trả về
Thứ nhất, hàm này có thể trả về một số nguyên nếu mọi thứ đều ổn. Thứ hai, kết quả của hàm có thể là
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
8 trong trường hợp không thể chuyển đổi ký tự đầu tiên không phải khoảng trắng sang kiểu số hoặc trong trường hợp cơ số không vừa trong phạm vi từ 2 đến 36 [mô đun 2 ** 32 nhỏ hơn 2 trở lên Ví dụ nếu cơ số bằng 10 thì kết quả hàm sẽ cho ra số thập phân, nếu cơ số bằng 16 thì ta sẽ có hệ thập lục phân, v.v. Ngoài ra, nếu cơ số lớn hơn 10, tất cả các số sau chín được biểu thị bằng các chữ cái trong bảng chữ cái Latinh. Ví dụ, từ A đến F được sử dụng cho các số thập lục phân [cơ số 16]
Đôi khi một phần của chuỗi đầu vào có thể được chuyển đổi bằng hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 trong khi phần còn lại của chuỗi này không thể được chuyển đổi. Vì vậy nếu từ bắt đầu bằng các ký tự không thể spoil được thì ngay lập tức ta nhận được kết quả parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
8 và hàm sẽ dừng chạyNhưng nếu trong quá trình chuyển đổi,
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 phát hiện một số không phải là chữ số trong hệ thống số dựa trên cơ số, chẳng hạn như G trong hệ thống 16 chữ số hoặc A trong hệ thống thập phân, thì quá trình chuyển đổi sẽ kết thúc ngay lập tức và trả về giá trị thu được từ Các tính năng của chức năng
Thực tế quan trọng là hàm cho phép sử dụng khoảng trắng ở đầu và cuối chuỗi đầu vào. Ngoài ra
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 làm tròn số phân số vì trong công việc nó dừng lại ở phần thập phânChúng ta đã biết rằng một số số chứa ký tự E trong biểu diễn chuỗi của chúng [12. 04E21 cho 12. 04×10^21]. Trong trường hợp này, sử dụng
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 để giảm số có thể dẫn đến kết quả không mong muốn khi sử dụng cho số rất lớn hoặc rất nhỏ. Do đó, bạn không nên sử dụng parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 để thay thế cho hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
45. Kết quả là chỉ số nguyên đầu tiên được tìm thấy được trả vềparseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 hiểu hai dấu hiệu. "+" cho số dương và "-" cho số âm. Chà, trước tiên, hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 loại bỏ các khoảng trắng trong tham số và ngay lập tức xem liệu các ký tự này có xuất hiện hay không. Nếu không tìm thấy các ký tự này, thuật toán hàm sẽ chuyển sang bước tiếp theo. Ngược lại, nếu có ký tự này, hàm sẽ loại bỏ ký tự đó và tiếp tục phân tích cú pháp các số cho phần còn lại của chuỗi
ví dụ
Cuối cùng, hãy xem các ví dụ về ứng dụng của hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 trong đó chúng ta sẽ không chỉ định rõ ràng tham số thứ haiparseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
Kết quả là trong tất cả các trường hợp trước, chúng tôi nhận được số "30".
Với ví dụ đầu tiên sẽ không có câu hỏi. Trong ví dụ 2 và 3, chức năng không nhận ra ". ". Vì vậy, kết quả là hiển thị mọi thứ ở bên trái của dấu hiệu này
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
4Trong trường hợp này, kết quả là chúng tôi cũng sẽ "30". Chúng tôi đã đề cập rằng chức năng này cho phép chúng tôi sử dụng khoảng trắng ở đầu và cuối dòng đầu vào và tự xử lý chúng.
Tuy nhiên, nếu khoảng trắng nằm trong chuỗi, hàm không nhận ra chúng. Do đó, kết quả của dòng tiếp theo, chúng tôi nhận được số 30
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
0Trong các trường hợp sau, chuỗi bắt đầu bằng một ký tự không thể chuyển đổi thành giá trị số. Như vậy, ta sẽ có kết quả
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
8parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2Chà, hãy chuyển sang các ví dụ trong đó tham số thứ hai được đặt rõ ràng.
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
3Tóm lại, nếu bạn hiểu các hệ thống số khác nhau, bạn sẽ dễ dàng hiểu kết quả của các ví dụ sau [trong mỗi ví dụ tiếp theo, nó bằng 15]
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
4Các ví dụ sau đều trả về -15
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
5hệ thống số
Chúng ta đã học một chút về cách viết một số. Ví dụ: nếu vé có giá 200 đô la, chúng ta có thể nói
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
6Điều này áp dụng cho tham số đầu tiên của hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2Ngoài ra, khi nghiên cứu các tham số của hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 chúng ta đã nói rằng parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
6 là một đối số nguyên biểu thị cơ sở hệ thống số của số được phân tích trong chuỗi. Vậy hệ thống số và các biến thể của nó là gì? . Trong cuộc sống thực, chúng ta đã quen với hệ thống số thập phân và chúng ta sử dụng nó nhiều nhất. Đây là ký hiệu thông thường đối với chúng tôi về các số mà chúng tôi đã học ở trường. Hệ thống thập phân sử dụng 10 chữ số khác nhau [0 1 2 3 4 5 6 7 8 9]. Với sự trợ giúp của những con số này, chúng ta có thể viết các số có nhiều chữ số [25, 365, 1000500].
Một loại hệ thống số rất phổ biến và nổi tiếng khác là hệ thống số nhị phân. Chỉ có hai ký tự được sử dụng trong hệ thống này [0 và 1]. Một hệ thống nổi tiếng khác là hệ thập lục phân trong đó 16 ký tự được sử dụng [0 1 2 3 4 5 6 7 8 9 A B C D E F]. Ngoài ra còn có các hệ thống số khác [bát phân, thập lục phân, v.v.]. ]. Nhưng chúng ta hãy xem xét kỹ hơn về hệ thống số nhị phân
hệ thống số nhị phân
Hệ thống số nhị phân được sử dụng trong máy tính hoặc các thiết bị điện tử khác, lập trình, toán học. Điều này khá thuận tiện vì chỉ sử dụng 2 ký tự. Hãy đếm đến 16 trong hệ thống nhị phân.
0 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
03 8 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
041 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
05 9 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
062 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
07 10 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
083 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
09 11 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
204 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
21 12 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
225 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
23 13 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
246 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
25 14 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
267 -
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
27 15 - parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
28Sự tương ứng của các con số này có thể được ghi nhớ một cách đơn giản. Đối với các số phức tạp hơn, có các phương pháp chuyển số từ hệ thống này sang hệ thống khác. Phương pháp này liên quan đến việc chia một số cho hai lần mỗi lần [từ hệ thống số thập phân sang hệ nhị phân] và tìm kiếm lũy thừa của hai [từ hệ thống số nhị phân sang hệ thập phân]
Trong JavaScript, chúng ta có thể sử dụng hàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 mà chúng ta đã nói để chuyển đổi một số từ hệ thống này sang hệ thống khác. parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
7Thật đơn giản để chuyển đổi một số từ thập phân sang nhị phân. Nhưng theo thứ tự ngược lại có một số khó khăn. Nếu chuỗi đầu vào bắt đầu bằng ký hiệu '0' hoặc '1', thì chuỗi này được phân tích cú pháp dưới dạng số bát phân hoặc số thập phân, chứ không phải dưới dạng nhị phân. Vì vậy, nếu bạn cần chuyển đổi một chuỗi từ nhị phân sang thập phân, có thể, bạn sẽ cần viết thêm một hàm để có thể nhận dạng chuỗi nhị phân đầu vào
BigInt
Vài lời về
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
30. Nó là đối tượng để khai báo các số rất lớn [253 - 1]. Ví dụ: nếu chúng ta có trong chuỗi đầu vào một số lớn như 1234567890123456789, kết quả của hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 sẽ là gì?Chà, khi
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 chuyển đổi giá trị BigInt thành giá trị Số, hàm này có thể mất độ chính xác. Kết quả có thể không chính xác. Lý do cho điều này là loại bỏ các giá trị không phải là số ở cuối ['n']parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
0parseInt[] so với Number[]
Cuối cùng nhưng không kém phần quan trọng, về hàm so sánh
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 và parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
34. Bạn thường có thể nghe câu hỏi về chức năng nào tốt hơn, tiện lợi hơn khi sử dụng và chúng khác nhau như thế nàoHàm
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
34 chỉ có thể chuyển đổi loại từ loại này sang loại khác nhưng parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 có thể phân tích cú pháp giá trị của chuỗi đầu vào và sau đó chuyển đổi nó. Trong khi hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
34 sẽ cố gắng chuyển đổi tất cả các chuỗi đầu vào, thì hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 sẽ chuyển từng bước nếu nó không đáp ứng các ký tự sốTrong trường hợp có lỗi
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
34 sẽ cho ra kết quả sai hoàn toàn. parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 sẽ in một số mà chức năng quản lý để nhận ra trước một dấu hiệu không được nhận dạng. Và nếu chúng ta truyền các tham số giống nhau trong cả hai hàm, chúng ta có thể nhận được các kết quả khác nhauVí dụ: nếu chuỗi đầu vào cho
parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
2 sẽ là parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
42 hoặc parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
43 thì kết quả sẽ là parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
8. trong trường hợp hàm parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
34, kết quả sẽ là parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
46 và parseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
47 theo quy định. Và một ví dụ nữa để cuối cùng hiểuparseInt["30"];
parseInt["30.00"];
parseInt["30.33"];
parseInt["+30"];
parseInt["-30"];
parseInt["030"];
parseInt["30 years"];
1Tóm lại, mặc dù hai chức năng này thực sự giống nhau, nhưng chúng thực hiện một công việc hơi khác, vì vậy chúng cần được sử dụng riêng lẻ