JavaScript Chuyển Đổi Dữ Liệu String Sang Dạng Số Number

Trong JavaScript, việc chuyển đổi một chuỗi (String) thành một số (Number) có thể được thực hiện theo nhiều cách khác nhau, tùy vào yêu cầu và ngữ cảnh sử dụng. Dưới đây là các phương pháp phổ biến:
Mục lục

1. Sử dụng Number()

Number() chuyển đổi chuỗi thành một số. Nếu không thể chuyển đổi, kết quả sẽ là NaN.

Ví dụ:

javascript

console.log(Number("123")); // Output: 123 console.log(Number("123.45")); // Output: 123.45 console.log(Number("abc")); // Output: NaN

  • Chuyển đổi chuỗi rỗng thành số:

javascript

console.log(Number("")); // Output: 0

2. Sử dụng parseInt()

parseInt() phân tích chuỗi và trả về số nguyên. Nếu chuỗi bắt đầu bằng một số hợp lệ, nó sẽ dừng tại ký tự đầu tiên không hợp lệ.

Ví dụ:

javascript

console.log(parseInt("123abc")); // Output: 123 console.log(parseInt("123.45")); // Output: 123 console.log(parseInt("abc123")); // Output: NaN console.log(parseInt(" 42")); // Output: 42 (bỏ qua khoảng trắng đầu)

  • Hỗ trợ chuyển đổi với cơ số (radix):

javascript

console.log(parseInt("1010", 2)); // Output: 10 (nhị phân) console.log(parseInt("20", 8)); // Output: 16 (bát phân)

3. Sử dụng parseFloat()

parseFloat() chuyển chuỗi thành một số dấu phẩy động (số thực). Nó xử lý phần thập phân nhưng dừng tại ký tự đầu tiên không hợp lệ.

Ví dụ:

javascript

console.log(parseFloat("123.45abc")); // Output: 123.45 console.log(parseFloat("123abc")); // Output: 123 console.log(parseFloat("abc123")); // Output: NaN

4. Sử dụng toán tử dấu cộng (+)

Đặt dấu cộng trước chuỗi sẽ cố gắng chuyển đổi chuỗi thành một số.

Ví dụ:

javascript

console.log(+"123"); // Output: 123 console.log(+"123.45"); // Output: 123.45 console.log(+"abc"); // Output: NaN console.log(+""); // Output: 0

5. Sử dụng Math (gián tiếp)

Nếu chuỗi chứa giá trị số hợp lệ, việc sử dụng các phương thức của Math (như Math.abs, Math.round,...) sẽ chuyển đổi chuỗi sang số.

Ví dụ:

javascript

console.log(Math.abs("42")); // Output: 42 console.log(Math.round("123.45")); // Output: 123 console.log(Math.max("10", 20)); // Output: 20

6. Chuyển đổi từ Boolean sang số

Boolean cũng có thể được coi là chuỗi, và kết quả khi chuyển đổi sẽ như sau:

javascript

console.log(Number(true)); // Output: 1 console.log(Number(false)); // Output: 0

Lưu ý khi chuyển đổi:

  1. NaN: Nếu không thể chuyển đổi chuỗi thành số, kết quả sẽ là NaN.

  2. Kiểm tra NaN: Sử dụng Number.isNaN() để kiểm tra:

    javascript

    const result = Number("abc"); console.log(Number.isNaN(result)); // true

  3. Chuyển đổi an toàn: Trong trường hợp phức tạp, bạn có thể kiểm tra chuỗi trước khi chuyển đổi:

    javascript

    function safeConvert(str) { return isNaN(Number(str)) ? null : Number(str); } console.log(safeConvert("123")); // Output: 123 console.log(safeConvert("abc")); // Output: null

So sánh các phương pháp

Phương pháp Hoạt động với số nguyên Hoạt động với số thực Xử lý chuỗi không hợp lệ
Number() Trả về NaN
parseInt() Dừng tại ký tự không hợp lệ
parseFloat() Dừng tại ký tự không hợp lệ
+ Trả về NaN

Xem thêm ví dụ trên Stackoverflow

About the Author

Tin liên quan