Định dạng chuỗi javascript
Làm việc với javascript chắc chắn không ít lần chúng ta cần chuyển kiểu dữ liệu từ String sang Number. Trong bài viết này mình sẽ giới thiệu một số cách hữu hiệu mà mình thường hay sử dụng Show
Đây là hàm thông thường hay được sử dụng để phân tích chuỗi sang số tùy chọn theo hệ thống cơ số và giá trị trả về luôn là một số nguyên. Ví dụ var x = parseInt('100. 1', 10); với hệ cơ số được xác định từ 2 -> 36, trong trường hợp không truyền được hệ cơ số thì javascript sẽ tự phân tích cú pháp theo nguyên tắc sau
Khác với parseInt, parseFloat sẽ trả về kết quả là một số float. Ví dụ var x = parseFloat('100. 1'); Phương thức này cũng tương tự với parseInt sẽ trả về một số nguyên var x = Toán học. sàn('100'); Đây là cách mình thường hay sử dụng nhất vì nó rút gọn và hữu hiệu khi có các giá trị lộn xộn vừa chuỗi vừa số. Ví dụ Tương tự như + thì các toán tử (-, *, /) cũng tương tự Lưu ý đây là function chứ không phải constructor. Hàm này sẽ tạo ra 1 số thông thường chứ không phải 1 số đối tượng var x = Số mới("6666"); bảng điều khiển. nhật ký (x); bảng điều khiển. nhật ký (y); Với việc hiển thị một số lớn thì rất khó để quan sát nên cần định dạng chúng để có thể dễ dàng quan sát hơn (100000 => 100.000) Với các số nhỏ thì chúng ta có thể sử dụng phương thức 89x. toLocaleString(); . 000. 000" Nhưng một vấn đề xảy ra là nếu như số lượng quá lớn với độ dài lớn hơn 16 ký tự thì định dạng công việc bằng phương thức này sẽ dẫn đến sai số var x = 111111111111111111; x. toLocaleString(); . 111. 111. 111. 111. 100" Muốn định dạng được các số lớn như vậy thì chúng ta cần phải xác định một phương thức để thực hiện công việc này const addCommas = giá trị => { const stringFormat = `${value}`; const x = chuỗiĐịnh dạng. tách ra('. '); hằng x2 = x. chiều dài > 1? . ${x[1]}`. ''; const regex = /(\d+)(\d{3})/; x1 = x1. thay thế(regex, '$1,$2'); var x = 111111111111111111; addCommas(x); . 111. 111. 111. 111. 111" Trên đây là một số cách hữu hiệu để chuyển đổi từ String sang Number tùy từng trường hợp mà bạn có thể sử dụng chúng Tài liệu này đóng vai trò là định nghĩa đầy đủ về các tiêu chuẩn viết mã của Google dành cho mã nguồn bằng ngôn ngữ lập trình JavaScript. Tệp nguồn JavaScript được mô tả là ở trong Google Style khi và chỉ khi nó tuân thủ các quy tắc ở đây Giống như các hướng dẫn về phong cách lập trình khác, các vấn đề được đề cập không chỉ là các vấn đề thẩm mỹ về định dạng mà còn các loại quy ước hoặc tiêu chuẩn mã hóa khác. Tuy nhiên, tài liệu này tập trung chủ yếu vào các quy tắc cứng rắn và nhanh chóng mà chúng tôi tuân theo trên toàn cầu và tránh đưa ra lời khuyên không thể thực thi rõ ràng (dù là do con người hay công cụ) 1. 1 Ghi chú thuật ngữTrong tài liệu này, trừ khi được giải thích khác
Các ghi chú thuật ngữ khác sẽ thỉnh thoảng xuất hiện trong toàn bộ tài liệu 1. 2 Ghi chú hướng dẫnMã ví dụ trong tài liệu này là phi quy chuẩn. Nghĩa là, trong khi các ví dụ ở trong Google Style, chúng có thể không minh họa cách duy nhất để thể hiện mã. Các lựa chọn định dạng tùy chọn được thực hiện trong các ví dụ không được thực thi như các quy tắc 2 Thông tin cơ bản về tệp nguồn2. 1 Tên tệpTên tệp phải là chữ thường và có thể bao gồm dấu gạch dưới ( 49) hoặc dấu gạch ngang ( 50), nhưng không có dấu chấm câu bổ sung. Thực hiện theo quy ước mà dự án của bạn sử dụng. Phần mở rộng của tên tệp phải là 512. 2 Mã hóa tập tin. UTF-8Các tệp nguồn được mã hóa bằng UTF-8 2. 3 ký tự đặc biệt2. 3. 1 Ký tự khoảng trắngNgoài trình tự kết thúc dòng, ký tự khoảng cách ngang ASCII (0x20) là ký tự khoảng trắng duy nhất xuất hiện ở bất kỳ đâu trong tệp nguồn. Điều này ngụ ý rằng
2. 3. 2 Trình tự thoát hiểm đặc biệtĐối với bất kỳ ký tự nào có một chuỗi thoát đặc biệt ( 52, 53, 54, 55, 56, 57, 58, 59, 60), chuỗi đó được sử dụng thay vì chuỗi thoát số tương ứng (e. g 61, 62 hoặc 63). Thoát bát phân kế thừa không bao giờ được sử dụng2. 3. 3 ký tự không phải ASCIIĐối với các ký tự không phải ASCII còn lại, ký tự Unicode thực tế (e. g. 64) hoặc bộ thoát hex hoặc Unicode tương đương (e. g. 65) được sử dụng, chỉ phụ thuộc vào cái nào làm cho mã dễ đọc và dễ hiểu hơnMẹo. Trong trường hợp thoát Unicode và đôi khi ngay cả khi các ký tự Unicode thực được sử dụng, một nhận xét giải thích có thể rất hữu ích 8
Mẹo. Đừng bao giờ làm cho mã của bạn khó đọc hơn chỉ vì sợ rằng một số chương trình có thể không xử lý đúng các ký tự không phải ASCII. Nếu điều đó xảy ra, các chương trình đó bị hỏng và chúng phải được sửa 3 Cấu trúc tệp nguồnTất cả các tệp nguồn mới phải là tệp 66 (tệp chứa lệnh gọi 66) hoặc mô-đun ECMAScript (ES) (sử dụng câu lệnh 68 và 69). Các tập tin bao gồm những điều sau đây, theo thứ tự
Chính xác một dòng trống phân tách từng phần hiện có, ngoại trừ việc triển khai tệp, có thể có 1 hoặc 2 dòng trống trước 3. 1 Giấy phép hoặc thông tin bản quyền, nếu cóNếu thông tin giấy phép hoặc bản quyền thuộc về một tệp, thì nó thuộc về đây 3. 2 /* Poor: the reader has no idea what character this is. */ const units = '\u03bcs'; 70 JSDoc, nếu cóNhìn thấy ?? 3. 3 câu lệnh /* Poor: the reader has no idea what character this is. */ const units = '\u03bcs'; 66Tất cả các tệp 66 phải khai báo chính xác một tên 66 trên một dòng. các dòng chứa khai báo 66 không được ngắt dòng và do đó là ngoại lệ đối với giới hạn 80 cộtToàn bộ đối số với google. mô-đun là những gì xác định một không gian tên. Đó là tên gói (một mã định danh phản ánh đoạn cấu trúc thư mục chứa mã) cộng với, tùy chọn, lớp/enum/giao diện chính mà nó xác định được nối vào cuối Thí dụ 53. 3. 1 thứ bậcKhông gian tên mô-đun không bao giờ được đặt tên là con trực tiếp của không gian tên mô-đun khác không được phép 6Hệ thống phân cấp thư mục phản ánh hệ thống phân cấp không gian tên, sao cho các thư mục con được lồng sâu hơn là thư mục con của thư mục mẹ cấp cao hơn. Lưu ý rằng điều này ngụ ý rằng chủ sở hữu của các nhóm không gian tên "cha mẹ" nhất thiết phải biết tất cả các không gian tên con, vì chúng tồn tại trong cùng một thư mục 3. 3. 2 /* Poor: the reader has no idea what character this is. */
const units = '\u03bcs';
|