Hướng dẫn parseint in javascript - phần trăm trong javascript
Phương thức 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 sẽ phân tích một chuỗi và trả về một số nguyên nếu có thể. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức. Khác với phương thức 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 193, phương thức 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 sẽ chỉ trả về một số nguyên kể cả khi chuỗi được bắt đầu bằng một số thập phân, chính vì điểm khác nhau trên, nếu chuỗi được bắt đầu bằng một dấu chấm, phương thức sẽ trả về NaN. Các khoảng trắng ở đầu và cuối chuỗi sẽ không ảnh hưởng đến kết quả. Nếu kí tự đầu tiên của chuỗi không thể chuyển thành kiểu number, phương thức sẽ trả về NaN. Bài viết này được đăng tại [free tuts .net] Cú phápCú pháp: 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 195 Trong đó::
Cách sử dụngSử dụng phương thức 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 để phân tích một số chuỗi.
Kết quả 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 19 Tham khảo: w3schools.com Hàm Thử nóCú pháp
Thông số14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 198 Một chuỗi bắt đầu với một số nguyên. Khoảng trắng hàng đầu trong đối số này bị bỏ qua. 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 199 Tùy chọnOptional Một số nguyên giữa 0 và 1 đại diện cho radix (cơ sở trong các hệ thống số toán học) của 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 198. Nó được chuyển đổi thành một số nguyên 32 bit; Nếu nó nằm ngoài phạm vi [2, 36] sau khi chuyển đổi, hàm sẽ luôn trả về 3. Nếu 4 hoặc không được cung cấp, radix sẽ được suy ra dựa trên giá trị của ____ 18. Hãy cẩn thận - điều này không phải lúc nào cũng mặc định là 6! Mô tả dưới đây giải thích chi tiết hơn về những gì xảy ra khi 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 199 không được cung cấp. Giá trị trả về
Một số nguyên được phân tích cú pháp từ 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 198 đã cho
Lưu ý: JavaScript không có sự khác biệt của "số điểm nổi" và "số nguyên" ở cấp độ ngôn ngữ. 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 and 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 193 only differ in their parsing behavior, but not necessarily their return values. For example, 5 and 6 would return the same value: a 7 42.Sự mô tảHàm 8 chuyển đổi đối số đầu tiên của nó thành một chuỗi, phân tích chuỗi đó, sau đó trả về một số nguyên hoặc 3.Nếu không phải 3, giá trị trả về sẽ là số nguyên là đối số đầu tiên được lấy dưới dạng một số trong 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 199 được chỉ định. . Đối số 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 199 được chuyển đổi thành một số. Nếu nó chưa được cung cấp hoặc nếu giá trị trở thành 0, 3 hoặc 8 ( 9 bị ép buộc với 3), JavaScript giả định như sau:
LƯU Ý: Các tiền tố khác như 0, which
are valid in number literals, are treated as normal digits by 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192. 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 does not treat strings beginning with a 4 character as octal values either. The only prefix that 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 recognizes is 4 or 5 for hexadecimal values — everything else is parsed as a decimal value if 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 199 is missing. Nếu radix là 5, 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 cho phép chuỗi được đặt trước tùy chọn bởi 4 hoặc 5 sau ký tự dấu tùy chọn (________ 52/________ 53).Nếu giá trị radix (bị ép buộc nếu cần thiết) không nằm trong phạm vi [2, 36] (bao gồm) 8 trả về 3.Đối với các bức xạ ở trên 6, các chữ cái của bảng chữ cái tiếng Anh biểu thị số lớn hơn 7. Ví dụ, đối với các số thập lục phân (cơ sở 5), 9 đến 0 được sử dụng. Các chữ cái không nhạy cảm trường hợp. 8 Hiểu chính xác hai dấu hiệu: 2 cho tích cực và 3 cho tiêu cực. Nó được thực hiện như một bước ban đầu trong phân tích cú pháp sau khi loại bỏ khoảng trắng được loại bỏ. Nếu không tìm thấy dấu hiệu nào, thuật toán sẽ chuyển sang bước sau; Nếu không, nó sẽ loại bỏ dấu hiệu và chạy phân tích số trên phần còn lại của chuỗi.Nếu 8 gặp một ký tự không phải là một chữ số trong 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 199 được chỉ định, nó sẽ bỏ qua nó và tất cả các ký tự thành công và trả về giá trị số nguyên được phân tích lại cho đến điểm đó. Ví dụ, mặc dù 6 về mặt kỹ thuật mã hóa một số nguyên (và sẽ được phân tích chính xác vào số nguyên 7 bởi 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 193), 9 trả về Luôn luôn là một số nguyên.Nếu ký tự đầu tiên không thể được chuyển đổi thành một số có radix đang sử dụng, 8 trả về 3. Khoảng cách hàng đầu được cho phép.Đối với mục đích số học, giá trị 3 không phải là một số trong bất kỳ radix nào. Bạn có thể gọi hàm 6 để xác định xem kết quả của 8 là 3. Nếu 3 được truyền cho các hoạt động số học, kết quả hoạt động cũng sẽ là 3.Bởi vì số lượng lớn sử dụng ký tự 1 trong biểu diễn chuỗi của chúng (ví dụ: 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1902 cho 6.022 × 1023), sử dụng 8 để cắt số sẽ tạo ra kết quả không mong muốn khi được sử dụng với số rất lớn hoặc rất nhỏ. 8 không nên được sử dụng để thay thế cho 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1905. Để chuyển đổi một số thành chuỗi theo nghĩa đen của nó trong một radix cụ thể, hãy sử dụng 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1906. Bởi vì 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 trả về một số, nó có thể bị mất độ chính xác nếu số nguyên được biểu thị bằng chuỗi nằm ngoài phạm vi an toàn. Hàm 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1908 hỗ trợ các số nguyên phân tích có độ dài tùy ý một cách chính xác, bằng cách trả về 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1909. Ví dụSử dụng ParseInt ()Các ví dụ sau đây đều trả về 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1910:
Tất cả các ví dụ sau đều trả về 3:
Các ví dụ sau đây đều trả về 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1912:
Ví dụ sau trả về 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1913: 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 không xử lý các giá trị 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1909. Nó dừng ở ký tự 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1916 và coi chuỗi trước là một số nguyên bình thường, với khả năng mất độ chính xác.
Thay vào đó, bạn nên chuyển chuỗi vào chức năng 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1908, mà không cần ký tự 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1916.
8 không hoạt động với các dấu phân cách số:
Sử dụng ParseInt () trên không có dây14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 có thể có kết quả thú vị khi làm việc trên các dải không kết hợp với radix cao; Ví dụ: 1 (tạo ra tất cả các ký tự chữ và số hợp lệ của các chữ số).
Nói chung, đó là một ý tưởng tồi để sử dụng 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 trên các bộ không dây, đặc biệt là sử dụng nó như một sự thay thế cho 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1905. Nó có thể hoạt động trên những con số nhỏ: 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 190 Tuy nhiên, nó chỉ xảy ra vì biểu diễn chuỗi của các số này sử dụng ký hiệu phân số cơ bản ( 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1924, 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1925), trong đó 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 dừng tại điểm thập phân. Các số lớn hơn hoặc bằng 1e+21 hoặc nhỏ hơn hoặc bằng 1e-7 Sử dụng ký hiệu theo cấp số nhân ( 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1927, 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 1928) trong biểu diễn chuỗi của chúng và 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 sẽ dừng ở ký tự 1 . Điều này có nghĩa là với số lượng lớn và nhỏ, 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 192 sẽ trả về một số nguyên một chữ số: 14Hello - 14 99 88 7799 .555-444 534 - NaN 14.5Freetuts - 14 freetuts.net - NaN 1234 hệ thập phân - 1234 1234 hệ bát phân - 668 0x13 hệ thập lục phân - 191 Thông số kỹ thuật
Tính tương thích của trình duyệt webBảng BCD chỉ tải trong trình duyệt Xem thêm |