Tin tức tổng hợp

Làm thế nào để chuyển đổi một chuỗi thành một số trong JavaScript

  • Tác giả sp Admin

  • Ngày đăng 06/ 05/ 2022

  • Bình luận 0 Bình luận

Nhưng điều đó trông như thế nào trong mã?

Trong bài viết này, tôi sẽ chỉ cho bạn 11 cách để chuyển đổi một chuỗi thành một số.

 

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng Number()hàm

Một cách để chuyển đổi một chuỗi thành một số là sử dụng Number()hàm. 

Tham khảo thêm các ví dụ tại đây

Trong ví dụ này, chúng ta có một chuỗi được gọi quantityvới giá trị là "12".

const quantity = "12";

Nếu chúng ta đã sử dụng typeoftoán tử on quantity, thì nó sẽ trả về kiểu chuỗi.

console.log(typeof quantity);
Screen-Shot-2022-05-01-at-9.50.17-AM

Chúng ta có thể chuyển đổi quantitythành một số bằng cách sử dụng Numberhàm như sau:

Number(quantity)

Chúng ta có thể kiểm tra xem nó có phải là một số hay không bằng cách sử dụng lại typeoftoán tử.

console.log(typeof Number(quantity));
Screen-Shot-2022-05-01-at-9.57.35-AM

Nếu bạn đã cố gắng chuyển một giá trị không thể chuyển đổi thành số, thì giá trị trả về sẽ là NaN(Không phải là Số).

console.log(Number("awesome"));
Screen-Shot-2022-05-01-at-10.00.34-AM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng parseInt()hàm

Một cách khác để chuyển đổi một chuỗi thành một số là sử dụng parseInt()hàm. Hàm này nhận một chuỗi và một cơ số tùy chọn.

Cơ số là một số từ 2 đến 36 đại diện cho cơ số trong một hệ thống chữ số. Ví dụ, cơ số 2 sẽ đại diện cho hệ nhị phân, trong khi cơ số 10 đại diện cho hệ thập phân.

Chúng ta có thể sử dụng quantitybiến trước đó để chuyển chuỗi đó thành một số.

const quantity = "12";

console.log(parseInt(quantity, 10));

Điều gì xảy ra nếu tôi cố gắng thay đổi quantitybiến thành "12.99"? Kết quả sử dụng parseInt() có phải là số 12,99 không?

const quantity = "12.99";

console.log(parseInt(quantity, 10));
Screen-Shot-2022-05-01-at-10.45.08-AM

Như bạn có thể thấy, kết quả là một số nguyên được làm tròn. Nếu bạn muốn trả về một số dấu phẩy động, thì bạn cần phải sử dụng parseFloat().

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng parseFloat()hàm

Hàm parseFloat() sẽ nhận một giá trị và trả về một số dấu phẩy động. Ví dụ về số dấu phẩy động sẽ là 12,99 hoặc 3,14.

Nếu chúng tôi sửa đổi ví dụ của mình từ trước đó để sử dụng parseFloat(), thì kết quả sẽ là số dấu phẩy động là 12,99.

const quantity = "12.99";

console.log(parseFloat(quantity));
Screen-Shot-2022-05-01-at-10.55.03-AM

Nếu bạn có khoảng trắng ở đầu hoặc cuối trong chuỗi của mình, thì chuỗi đó parseFloat()vẫn sẽ chuyển đổi chuỗi đó thành số dấu phẩy động.

const quantity = "   12.99    ";

console.log(parseFloat(quantity));
Screen-Shot-2022-05-01-at-11.05.35-AM

Nếu ký tự đầu tiên trong chuỗi của bạn không thể chuyển đổi thành số, thì parseFloat()sẽ trả về NaN.

const quantity = "F12.99";

console.log(parseFloat(quantity));
Screen-Shot-2022-05-01-at-11.08.33-AM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng toán tử cộng một bậc ( +)

Toán tử cộng một bậc ( +) sẽ chuyển đổi một chuỗi thành một số. Toán tử sẽ đi trước toán hạng.

const quantity = "12";

console.log(+quantity);
Screen-Shot-2022-05-01-at-11.14.51-AM

Chúng ta cũng có thể sử dụng toán tử cộng một ngôi ( +) để chuyển đổi một chuỗi thành một số dấu phẩy động.

const quantity = "12.99";

console.log(+quantity);
Screen-Shot-2022-05-01-at-11.16.38-AM

Nếu giá trị chuỗi không thể được chuyển đổi thành một số thì kết quả sẽ là NaN.

const quantity = "awesome";

console.log(+quantity);
Screen-Shot-2022-05-01-at-11.18.10-AM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách nhân chuỗi với số 1

Một cách khác để chuyển một chuỗi thành một số là sử dụng một phép toán cơ bản. Bạn có thể nhân giá trị chuỗi với 1 và nó sẽ trả về một số.

const quantity = "12";

console.log(quantity * 1);
Screen-Shot-2022-05-01-at-11.42.58-AM

Như bạn thấy, khi chúng ta nhân quantitygiá trị với 1, thì nó sẽ trả về số 12. Nhưng điều này hoạt động như thế nào?

Trong ví dụ này, JavaScript đang chuyển đổi giá trị chuỗi của chúng ta thành một số và sau đó thực hiện phép toán đó. Nếu chuỗi không thể chuyển đổi thành số, thì phép toán sẽ không hoạt động và nó sẽ trả về NaN.

const quantity = "awesome";

console.log(quantity * 1);
Screen-Shot-2022-05-01-at-11.18.10-AM

Phương pháp này cũng sẽ hoạt động đối với số dấu phẩy động.

const quantity = "10.5";

console.log(quantity * 1);
Screen-Shot-2022-05-01-at-11.56.19-AM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách chia chuỗi cho số 1

Thay vì nhân với 1, bạn cũng có thể chia chuỗi cho 1. JavaScript đang chuyển đổi giá trị chuỗi của chúng ta thành một số và sau đó thực hiện phép toán đó.

const quantity = "10.5";

console.log(quantity / 1);
Screen-Shot-2022-05-01-at-12.08.37-PM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách lấy chuỗi trừ đi số 0

Một phương pháp khác sẽ là trừ 0 khỏi chuỗi. Giống như trước đây, JavaScript đang chuyển đổi giá trị chuỗi của chúng ta thành một số và sau đó thực hiện phép toán đó.

const quantity = "19";

console.log(quantity - 0);
Screen-Shot-2022-05-01-at-12.11.59-PM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng toán tử NOT bitwise ( ~)

Toán tử NOT bitwise ( ~) sẽ đảo ngược các bit của một toán hạng và chuyển đổi giá trị đó thành một số nguyên có dấu 32 bit. Số nguyên có dấu 32 bit là giá trị đại diện cho một số nguyên có kích thước 32 bit (hoặc 4 byte).

Nếu chúng ta sử dụng một toán tử NOT ( ~) theo bitwise trên một số, thì nó sẽ thực hiện thao tác này: - (x + 1)

console.log(~19);
Screen-Shot-2022-05-01-at-12.20.18-PM

Nhưng nếu chúng ta sử dụng hai toán tử NOT bitwise ( ~), thì nó sẽ chuyển đổi chuỗi của chúng ta thành một số.

const quantity = "19";

console.log(~~quantity);
Screen-Shot-2022-05-01-at-12.28.16-PM

Phương pháp này sẽ không hoạt động đối với số dấu phẩy động vì kết quả sẽ là một số nguyên.

const quantity = "19.99";

console.log(~~quantity);
Screen-Shot-2022-05-01-at-12.31.16-PM

Nếu bạn đã cố gắng sử dụng phương pháp này trên các ký tự không phải số, thì kết quả sẽ là 0.

const quantity = "awesome";

console.log(~~quantity);
Screen-Shot-2022-05-01-at-12.32.45-PM

Phương pháp này có những hạn chế của nó vì nó sẽ bắt đầu bị phá vỡ đối với các giá trị được coi là quá lớn. Điều quan trọng là đảm bảo rằng số của bạn nằm giữa các giá trị của số nguyên 32 bit có dấu.

const quantity = "2700000000";

console.log(~~quantity);
Screen-Shot-2022-05-01-at-12.36.16-PM

Để tìm hiểu thêm về toán tử NOT bitwise ( ~), vui lòng đọc trong tài liệu .

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng Math.floor()hàm

Một cách khác để chuyển đổi một chuỗi thành một số là sử dụng Math.floor()hàm. Hàm này sẽ làm tròn số xuống số nguyên gần nhất.

const quantity = "13.4";

console.log(Math.floor(quantity));
Screen-Shot-2022-05-01-at-12.44.53-PM

Cũng giống như trong các ví dụ trước đó, nếu chúng tôi cố gắng sử dụng các ký tự không phải số, thì kết quả sẽ là NaN.

const quantity = "awesome";

console.log(Math.floor(quantity));
Screen-Shot-2022-05-01-at-12.46.08-PM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng Math.ceil()hàm

Hàm Math.ceil()sẽ làm tròn một số lên đến số nguyên gần nhất.

const quantity = "7.18";

console.log(Math.ceil(quantity));
Screen-Shot-2022-05-01-at-12.48.15-PM

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng cách sử dụng Math.round()hàm

Hàm Math.round()sẽ làm tròn số đến số nguyên gần nhất.

Nếu tôi có giá trị là 6,3, thì Math.round() sẽ trả về 6.

const quantity = "6.3";

console.log(Math.round(quantity));
Screen-Shot-2022-05-01-at-12.50.20-PM

Nhưng nếu tôi thay đổi giá trị đó thành 6,5, sau đó Math.round() sẽ trả về 7.

const quantity = "6.5";

console.log(Math.round(quantity));
Screen-Shot-2022-05-01-at-12.51.35-PM

Kết luận

Trong bài viết này, tôi đã chỉ cho bạn 11 cách để chuyển đổi một chuỗi thành một số bằng JavaScript.

 

>>> Tham gia Khóa học javascript tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.

Đăng bình luận