HomeLập trìnhJavaScriptJavaScript chuyển đổi...

JavaScript chuyển đổi chuỗi thành số – Ví dụ về chuỗi JS thành Int


Khi bạn đang làm việc với dữ liệu từ nhiều nguồn khác nhau, một số dữ liệu này có thể đến ở định dạng không chính xác. Và bạn sẽ cần sửa các định dạng đó trước khi thực hiện một số hành động nhất định trên dữ liệu.

Đây chỉ là một trong nhiều lý do khiến bạn có thể muốn tìm hiểu cách chuyển đổi một chuỗi thành một số trong JavaScript.

Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi chuỗi thành số bằng cách thực hiện các phương pháp khác nhau và cung cấp các ví dụ cho từng phương pháp.

Trước khi chúng ta bắt đầu, một cách phổ biến để phân biệt một giá trị chuỗi là nó luôn được đặt trong dấu nháy đơn hoặc nháy kép, trong khi một số thì không:

"John Doe" -> String
'John Doe' -> String
"12" -> String
12 -> Number

Giả sử chúng ta có chuỗi được lưu trữ trong một biến. Một cách tốt để kiểm tra xem một biến có phải là một chuỗi hay không bằng cách sử dụng typeof nhà điều hành:

let name = "John Doe";

console.log(typeof name) // "string"

Bây giờ chúng ta hãy tìm hiểu 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ố bằng cách sử dụng Number() Chức năng

Hàm Số là một phương pháp mạnh mẽ mà bạn có thể sử dụng để chuyển đổi chuỗi hoặc các giá trị khác thành loại Số. Phương pháp này cũng sẽ trở lại NaN nếu giá trị không thể được chuyển đổi:

console.log(Number('212'))  // 212
console.log(Number("2124"))  // 2124
console.log(Number('0.0314E+2')); // 3.14

console.log(Number("Hello World"))  // NaN
console.log(Number(undefined))  // NaN

Điều này cũng hoạt động với các biến:

let age = "12";
let password = "John12";

console.log(Number(age)) // 12
console.log(Number(password)) // NaN

Đây là một trong những phương thức dễ sử dụng nhất vì nó cũng hoạt động với các giá trị thập phân và trả về các giá trị mà không cần thao tác với chúng:

let answer = "12.0";
let answer = "12.0267";

console.log(Number(answer)) // 12.0
console.log(Number(answer)) // 12.0267

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

cả hai parseInt()parseFloat() các hàm nhận một chuỗi làm tham số, sau đó chuyển đổi chuỗi đó thành một số nguyên/số.

Đọc thêm  JavaScript đã hoàn thành Turing— Giải thích

Bạn cũng có thể dùng parseInt() để chuyển đổi một số không nguyên thành một số nguyên, trong khi parseFloat() là phương pháp mạnh mẽ hơn vì nó có thể duy trì số float và một số logic toán học:

console.log(parseInt('12')) // 12
console.log(parseInt('12.092')) // 12.092
console.log(parseInt('  3.14  ')) // 3
console.log(parseInt('0.0314E+2')) // 0
console.log(parseInt('John Doe')) // NaN

console.log(parseFloat('12')) // 12
console.log(parseFloat('12.092')) // 12.092
console.log(parseFloat('  3.14  ')) // 3.14
console.log(parseFloat('0.0314E+2')) // 3.14
console.log(parseFloat('John Doe')) // NaN

Như thường lệ, điều này cũng hoạt động với các biến:

let age = "12";

console.log(parseInt(age)) // 12
console.log(parseFloat(age)) // 12

Lưu ý: Các parseFloat() Hàm sẽ luôn trả về NaN khi không thể chuyển đổi ký tự của chuỗi thành số:

console.log(parseFloat('N0.0314E+2')) // NaN

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

Đây là một trong những cách nhanh nhất và dễ dàng nhất để chuyển đổi thứ gì đó thành số. Tôi đã nói “cái gì đó” bởi vì nó chuyển đổi nhiều thứ hơn là chỉ biểu diễn chuỗi của các số và số float – nó cũng hoạt động trên các giá trị không phải chuỗi true, falsenull hoặc một chuỗi rỗng.

Một ưu điểm (hoặc cũng là nhược điểm) của phương pháp này là nó không thực hiện bất kỳ thao tác nào khác trên số như làm tròn số hoặc chuyển đổi nó thành số nguyên.

Chúng ta hãy xem xét một số ví dụ:

console.log(+'100'); // 100
console.log(+'100.0373'); // 100.0373
console.log(+''); // 0
console.log(+null); // 0
console.log(+true); // 1
console.log(+false); // 0
console.log(+'John Doe'); // NaN
console.log(+'0.0314E+2'); // 3.14

Như mong đợi, điều này cũng hoạt động với các biến:

let age = "74";

console.log(+age); // 74

Nếu bạn so sánh ParseInt() và Toán tử một ngôi cộng, cuối cùng bạn có thể sử dụng Toán tử một ngôi cộng trên parseInt() phương pháp trong một số tình huống.

Đọc thêm  Kiểm tra JavaScript nếu không xác định – Cách kiểm tra không xác định trong JS

Ví dụ: giả sử bạn đang nhận các giá trị ngẫu nhiên – giả sử giá trị UUID tại một số điểm có thể bắt đầu bằng số và tại các điểm khác có thể bắt đầu bằng các chữ cái. Điều này có nghĩa là sử dụng parseInt() chức năng đôi khi có thể trở lại NaN và những lần khác trả về các ký tự đầu tiên là số:

console.log(parseInt("cb34d-234ks-2343f-00xj")); // NaN
console.log(parseInt("997da-00xj-2343f-234ks")); // 997


console.log(+"cb34d-234ks-2343f-00xj"); // NaN
console.log(+"997da-00xj-2343f-234ks"); // NaN

Cách chuyển đổi một chuỗi thành một số bằng các phương thức toán học JavaScript

Một cách khác để chuyển đổi chuỗi thành số là sử dụng một số phương thức toán học của JavaScript.

Bạn có thể dùng floor() Phương thức này sẽ làm tròn giá trị đã truyền xuống số nguyên gần nhất. Các ceil() phương pháp ngược lại với floor(), làm tròn lên đến số nguyên gần nhất. cuối cùng là round() phương pháp nằm giữa cả hai, chỉ làm tròn số đến số nguyên gần nhất (lên hoặc xuống tùy thuộc vào mức độ gần).

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

Giống như tôi đã giải thích ở trên, điều này sẽ luôn trả về một số nguyên. Giả sử chúng ta chuyển một giá trị float – nó sẽ làm tròn giá trị xuống số nguyên gần nhất. Điều này sẽ trở lại NaN nếu chúng ta chuyển các chữ cái dưới dạng một chuỗi hoặc bất kỳ ký tự không nguyên nào khác:

console.log(Math.floor("14.5")); // 14
console.log(Math.floor("654.508")); // 654
console.log(Math.floor("0.0314E+2")); // 3
console.log(Math.floor("34d-234ks")); // NaN
console.log(Math.floor("cb34d-234ks-2343f-00xj")); // NaN

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

Điều này khá giống và sẽ chỉ làm tròn các giá trị float của chúng ta để luôn trả về một số nguyên:

console.log(Math.ceil("14.5")); // 15
console.log(Math.ceil("654.508")); // 655
console.log(Math.ceil("0.0314E+2")); // 3
console.log(Math.ceil("34d-234ks")); // NaN

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

Điều này hoạt động giống như cả hai phương pháp nhưng chỉ trả về toàn bộ số sau khi làm tròn đến số nguyên gần nhất:

console.log(Math.round("14.5")); // 15
console.log(Math.round("654.508")); // 655
console.log(Math.round("0.0314E+2")); // 3
console.log(Math.round("34d-234ks")); // NaN

Tất cả các phương thức Toán học trên cũng hoạt động với các biến:

let age = "14.5";

console.log(Math.floor(age)); // 14
console.log(Math.ceil(age)); // 15
console.log(Math.round(age)); // 15

Cách chuyển đổi một chuỗi thành một số bằng một số phép toán

Đây thực sự không phải là một phương pháp, nhưng nó đáng để biết. Cho đến giờ, chúng ta đã thảo luận các phương pháp trực tiếp để đạt được chuyển đổi này – nhưng trong một số trường hợp, bạn có thể chỉ muốn thực hiện các phép toán này để trợ giúp chuyển đổi.

Đọc thêm  Kiểm tra JavaScript nếu không xác định – Cách kiểm tra không xác định trong JS

Chúng bao gồm phép nhân với 1chia cho 1 và cũng trừ bằng . Khi chúng tôi thực hiện bất kỳ thao tác nào trong số này trên một chuỗi, chúng sẽ được chuyển đổi thành số nguyên:

console.log("14.5" / 1); // 14.5
console.log("0.0314E+2" / 1); // 3.14

console.log("14.5" * 1); // 14.5
console.log("0.0314E+2" * 1); // 3.14

console.log("14.5" - 0); // 14.5
console.log("0.0314E+2" - 0); // 3.14

Như thường lệ, điều này cũng hoạt động với các biến:

let age = "14.5";

console.log(age / 1); // 14.5
console.log(age * 1); // 14.5
console.log(age - 0); // 14.5

Phần kết luận

Trong bài viết này, chúng ta đã xem xét các phương pháp và cách tiếp cận khác nhau để chuyển đổi chuỗi thành số nguyên trong JavaScript.

Tốt nhất bạn nên biết rằng có nhiều phương pháp để bạn có thể chọn phương pháp phù hợp nhất với mình và áp dụng nó trong mọi tình huống.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status